Pandas-DataFrame演算
1576 ワード
同じカラム名を加算
重複カラム名の加算
重複インデックスの加算
Pandas shift()
df1 = pd.DataFrame({'a': [1, 2, 3,4], 'b': [ 5,6,7,8], 'c': [9,10,11,12]})
df2 = pd.DataFrame({'a': [10, 20, 30,40], 'b': [50, 60,70,80], 'c': [90,100, 110,120]})
df3 = pd.DataFrame({'d': [10, 20, 30,40], 'c': [40, 50, 60,70], 'b': [70, 80, 90,100]})
print df1 + df2
a b c
0 11 55 99
1 22 66 110
2 33 77 121
3 44 88 132
重複カラム名の加算
print df1 + df3
a b c d
0 NaN 75 49 NaN
1 NaN 86 60 NaN
2 NaN 97 71 NaN
3 NaN 108 82 NaN
重複インデックスの加算
df5 = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]},
index=['index1', 'index2', 'index3'])
df6 = pd.DataFrame({'a': [10, 20, 30], 'b': [40, 50, 60], 'c': [70, 80, 90]},
index=['index4', 'index3', 'index2'])
print df5+df6
a b c
index1 NaN NaN NaN
index2 32.0 65.0 98.0
index3 23.0 56.0 89.0
index4 NaN NaN NaN
Pandas shift()
DataFrame.
shift
(periods=1, freq=None, axis=0)
print df5
a b c
index1 1 4 7
index2 2 5 8
index3 3 6 9
print df5.shift(1)
a b c
index1 NaN NaN NaN
index2 1.0 4.0 7.0
index3 2.0 5.0 8.0
print df5.shift(1,axis=1)
a b c
index1 NaN 1.0 4.0
index2 NaN 2.0 5.0
index3 NaN 3.0 6.0