python数据分析-数据准备
生活随笔
收集整理的這篇文章主要介紹了
python数据分析-数据准备
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pandas數據結構:
series序列:存儲一行或一列的數據,以及與此相關索引的集合。
常用操作方法如下:
from pandas import Series;#定義,可以混合定義 x = Series(['a', True, 1], index=['first', 'second', 'third']); x = Series(['a', True, 1]);#訪問 x[1]; #根據index訪問 x['second'];#不能越界訪問 x[3]#不能追加單個元素 x.append('2') #追加一個序列 n = Series(['2']) x.append(n)#需要使用一個變量來承載變化 x = x.append(n)'2' in x#判斷值是否存在 '2' in x.values#切片 x[1:3]#定位獲取,這個方法經常用于隨機抽樣 x[[0, 2, 1]]#根據index刪除 x.drop(0) x.drop('first')#根據位置刪除 x.drop(x.index[3])#根據值刪除 x['2'!=x.values] View CodeDataFrame:存儲多行多列的數據集合。
?
常用操作方法如下:
from pandas import DataFrame;df = DataFrame({'age': [21, 22, 23], 'name': ['KEN', 'John', 'JIMI'] });df = DataFrame(data={'age': [21, 22, 23], 'name': ['KEN', 'John', 'JIMI'] }, index=['first', 'second', 'third']);df#按列訪問 df['age'] #按行訪問 df[1:2]#按行列號訪問 df.iloc[0:1, 0:1] #按行索引,列名訪問 df.at[0, 'name']#修改列名 df.columns df.columns=['age2', 'name2']#修改行索引 df.index df.index = range(1,4) df.index#根據行索引刪除 df.drop(1, axis=0) #默認參數axis=0 #根據列名進行刪除 df.drop('age2', axis=1)#第二種刪除列的方法 del df['age2']#增加行,注意,這種方法,效率非常低,不應該用于遍歷中 df.loc[len(df)] = [24, "KENKEN"];#增加列 df['newColumn'] = [2, 4, 6, 8]; View Code程序結構:
分別有順序結構、選擇結構、循環結構。
選擇結構例子如下:
""" if 判斷條件:執行語句…… else:執行語句…… """flag = False name = 'luren' if name == 'python': # 判斷變量否為'python'flag = True # 條件成立時設置標志為真print('welcome boss') # 并輸出歡迎信息 else:print(name) # 條件不成立時輸出變量名稱 num = 5 if num == 3: # 判斷num的值print('boss') elif num == 2:print('user') elif num == 1:print('worker') elif num < 0: # 值小于零時輸出print('error') else:print('roadman') # 條件均不成立時輸出 View Code循環結構例子如下:
# -*- coding: utf-8 -*- """ Created on Sat Sep 26 18:55:41 2015@author: TBKKEN """#!/usr/bin/python # -*- coding: UTF-8 -*-from pandas import Series; from pandas import DataFrame;for i in range(10):print('現在是: ', i)for i in range(3, 10):print(i)#遍歷字符串 for letter in 'Python':print ('現在是 :', letter)#遍歷數組 fruits = ['banana', 'apple', 'mango']for fruit in fruits:print ('現在是 :', fruit)#遍歷序列 x = Series(['a', True, 1], index=['first', 'second', 'third']); x[0]; x['second']; x[2];for v in x:print("x中的值 :", v);for index in x.index:print("x中的索引 :", index);print("x中的值 :", x[index]);print("---------------------")#遍歷數據框 df = DataFrame({'age': Series([21, 22, 23]), 'name': Series(['KEN', 'John', 'JIMI']) });#遍歷列名 for r in df:print(r);#遍歷列 for cName in df:print('df中的列 :\n', cName)print('df中的值 :\n', df[cName]);print("---------------------")#遍歷行,方法一 for rIndex in df.index:print('現在是第 ', rIndex, ' 行')print(df.irow(rIndex))#遍歷行,方法二 for r in df.values:print(r)print(r[0])print(r[1])print("---------------------")#遍歷行,方法三 for index, row in df.iterrows():print('第 ', index, ' 行:')print(row)print("---------------------") View Code向量化計算:
定義:向量化計算是一種特殊的并行計算的方式,它可以在同一時間執行多次操作,通常是對不同的數據執行同樣的一個或一批指令,或者說把指令應用于一個數組/向量。
# -*- coding: utf-8 -*- """ Created on Wed Mar 23 10:13:56 2016@author: TBKKEN """ #生成一個整數的等差序列 #局限,只能用于遍歷 r1_10 = range(1, 10, 2)for i in r1_10:print(i)r1_10 = range(0.1, 10, 2)#生成一個小數的等差序列 import numpy numpy.arange(0.1, 0.5, 0.01) r = numpy.arange(0.1, 0.5, 0.01) #向量化計算,四則運算 r + r r - r r * r r / r#長短不一時 r + 1#函數式的向量化計算 numpy.power(r, 5)#向量化運算,比較運算 r>0.3 #結合過濾進行使用 r[r>0.3]#矩陣運算 numpy.dot(r, r.T)sum(r*r)from pandas import DataFrame df = DataFrame({'data1': numpy.random.randn(5),'data2': numpy.random.randn(5) })df.apply(lambda x: min(x))df.apply(lambda x: min(x), axis=1)#判斷每個行,值是否都大于0 df.apply(lambda x: numpy.all(x>0), axis=1) #結合過濾 df[df.apply(lambda x: numpy.all(x>0), axis=1)] View Code?
?
?
?
轉載于:https://www.cnblogs.com/qiuyuyu/p/9143736.html
總結
以上是生活随笔為你收集整理的python数据分析-数据准备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ashx 绝对路径得到物理路径
- 下一篇: websocket python爬虫_p