《python for data analysis》
read_csv
從檔案、url、檔案型物件中載入帶分隔符的資料。預設分隔符為逗號
read_table
從檔案、url、檔案型物件中載入帶分隔符的資料。預設分隔符為製表符(「\t」)
pd.read_csv('ex1.csv')
等價於pd.read_table('ex1.csv', sep=',')
to_csv
將資料寫到乙個以逗號分隔的檔案中
pandas.merge
根據乙個或多個鍵將不同dataframe中的行連線起來。
in [15]: df1 = dataframe()
in [16]: df2 = dataframe()
in [17]: pd.merge(df1, df2, on='key', how = 'left')
out[17]:
data1 key data2
00 b 1.0
10 b 3.0
21 b 1.0
31 b 3.042
a0.052
a2.0
63 c nan74
a0.084
a2.0
95 b 1.0
105 b 3.0
警告:在進行列-列連線時,dataframe物件中的索引會被丟棄。(可以將有意義的索引放到列中。)
pandas.concat
可以沿著一條軸將多個物件堆疊到一起。軸向連線
np.concatenate
:
in [19]: arr = np.arange(12).reshape((3,4))
in [20]: arr
out[20]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
in [21]: np.concatenate([arr,arr], axis=1)
out[21]:
array([[ 0, 1, 2, 3, 0, 1, 2, 3],
[ 4, 5, 6, 7, 4, 5, 6, 7],
[ 8, 9, 10, 11, 8, 9, 10, 11]])
pandas.concat
:
in [25]: a1 = dataframe(arr)
in [26]: a1
out[26]:
0123001
2314
5672
891011
in [27]: pd.concat([a1,a1], axis=1)
out[27]:
0123012
3001
2301
2314
5674
5672
89101189
1011
in [29]: pd.concat([a1,a1], axis=1, ignore_index=true)
out[29]:
0123456
7001
2301
2314
5674
5672
89101189
1011
axis=1
是列,每列是乙個向量,沿行傳播
combine_first
用引數物件中的資料為呼叫者物件的缺失資料「打補丁」,並且會進行資料對齊。
in [33]: a = series([np.nan, 2.5, np.nan, 3.5, 4.5, np.nan], index=['f','e','d','c','b','
...: a'])
in [34]: b = series(np.arange(len(a),dtype=np.float64), index=['f','e','d','c','b','a'])
in [35]: a
out[35]:
f nan
e 2.5
d nan
c 3.5
b 4.5
a nan
dtype: float64
in [36]: b
out[36]:
f 0.0
e 1.0
d 2.0
c 3.0
b 4.0
a 5.0
dtype: float64
in [37]: b[:-2]
out[37]:
f 0.0
e 1.0
d 2.0
c 3.0
dtype: float64
in [39]: a[2:]
out[39]:
d nan
c 3.5
b 4.5
a nan
dtype: float64
in [40]: b[:-2].combine_first(a[2:])
out[40]:
a nan
b 4.5
c 3.0
d 2.0
e 1.0
f 0.0
dtype: float64
pandas資料合併
pandas 提供了三種主要方法可以對資料進行合併 pandas.merge 方法 資料庫風格的合併 例如,通過merge 方法將兩個dataframe合併 on name 的意思是將name列當作鍵 預設情況下,merge做的是內連線 inner 即鍵的交集。其他方式還有左連線 left 右連線 ...
pandas的資料載入
pandas檔案的讀寫操作 read csv sep引數,取決文字檔案分隔符 資料庫操作 sqlite 最簡單的資料庫 以檔案的形式來儲存資料庫 結構化的資料都可以使用csv來使用 使用csv來讀取table檔案 pd.read csv table sep t header none names l...
pandas合併資料merge
snailtyan 本文主要是關於pandas的一些基本用法。usr bin env python coding utf 8 import pandas as pd import numpy as np test 1 定義資料 left pd.dataframe right pd.dataframe...