1. 程式人生 > >Python數據處理工具使用方法整理

Python數據處理工具使用方法整理

min 似的 csv文件 app dia cor 追加 print bsp

# 從csv文件創建DataFrame類型的數據結構

>>>df=pd.read_csv("xxx.csv")

# DataFrame類型的形狀和長度

>>> df.shape
(38, 39)
>>> len(df)
38

# 各列的標題和數據類型

>>> df.columns
>>> df.dtypes

# 索引

>>> df.index
RangeIndex(start=0, stop=38, step=1)

# 將DataFrame轉化成Numpy數組

>>>df.values

# 查看變量類型 >>> type(df) <class pandas.core.frame.DataFrame> # 獲取DataFrame的一列(得到的數據類型是Series) >>> type(df) <class pandas.core.frame.DataFrame> >>> col=df[104] >>> type(col) <class pandas.core.series.Series> # Series中與DataFrame相似的屬性 >>> col.shape (
38,) >>> col.values array([301, 1051, 1657, 1852, 2057, 2258, 2938, 3418, 3718, 3938, 4148, 4568, 5068]) >>> col.index RangeIndex(start=0, stop=38, step=1) >>> col.name 104 # 截取最後幾個元素 >>> col[-2:] 36 65536 37 65536 Name: 104, dtype: int64 >>> type(col[-2:])
<class pandas.core.series.Series> # DataFrame的符號 >>> np.sign(df) >>> last_col=df.columns[-1] >>> np.sign(df[last_col]) # head(取前幾行)和tail(取後幾行) >>> df.head(2) >>> df.tail(2) # 按索引查找某一行數據 >>> last_col=df.index[-1] >>> last_col >>> df.iloc[last_col] # 按索引查找某一行的某一列數據 >>> df.iloc[2:9] # iloc和iat作用相同 >>> df.iloc[2,3] >>> df.iat[2,3] # 邏輯查找 >>> df[df>df.mean()] # 統計計算 # 描述信息 >>> df.describe() # 非空數據的數量 >>> df.count() # 平均絕對偏差(類似於標準差) >>> df.mad() # 中位數 >>> df.median() # 最小值 >>> df.min() # 最大值 >>> df.max() # 眾數 >>> df.mode() # 標準差 >>> df.std() # 方差 >>> df.var() # 偏態系數(skewness,表示數據的對稱程度) >>> df.skew() # 峰態函數(kurtosis,表示數據分布圖的尖扁程度) >>> df.kurt() # 用python字典生成DataFrame >>> df=pd.DataFrame({weather:[cold,hot],food:[soup,ice cream]}) >>> df food weather 0 soup cold 1 ice cream hot # 對某個屬性按類型分組 >>> group=df.groupby(weather) >>> for name,gro in group: ... print(name) ... print(gro) ... cold food weather 0 soup cold 2 cake cold hot food weather 1 ice cream hot 3 bread hot >>> group <pandas.core.groupby.groupby.DataFrameGroupBy object at 0x7f110c24d1d0> # 各分組第一行、最後一行、平均數 >>> group=df.groupby(weather) >>> group.first() food price weather cold soup 1 hot ice cream 2 >>> group.last() food price weather cold cake 3 hot bread 4 >>> group.mean() price weather cold 2 hot 3 # 查看分組 >>> g=df.groupby([weather,food]) >>> g.groups {(hot, bread): Int64Index([3], dtype=int64), (cold, cake): Int64Index([2], dtype=int64), (hot, ice cream): Int64Index([1], dtype=int64), (cold, soup): Int64Index([0], dtype=int64)} # 為分組追加屬性 >>> g.agg([np.mean]) price mean weather food cold cake 3 soup 1 hot bread 4 ice cream 2 # 截取幾行數據並連接 >>> d=pd.concat([df[:2],df[3:]]) >>> d >>> d=pd.concat([df[:2],df[3:]]) >>> d food price weather 0 soup 1 cold 1 ice cream 2 hot 3 bread 4 hot >>> d.append(df[3:]) food price weather 0 soup 1 cold 1 ice cream 2 hot 3 bread 4 hot 3 bread 4 hot

Python數據處理工具使用方法整理