Dataframe的索引问题
1 两个Dataframe相加时,一定要注意索引是否对应再相加,利用这个特点有时可以先用set_index()将某些列置为索引列,再进行相加.
import pandas as pd df1 = pd.DataFrame({'a':np.arange(1,5,1), 'b':np.arange(3,15,3)}, index=[2,3,4,5]) df2 = pd.DataFrame({'c':[2,3,4,5], 'd':[6,7,8,9]}) print(df1) print(df2) # 当两个Dataframe的两个列对应相加时,是将相同的行索引对应的数据进行相加. # 如下当两个Dataframe的行索引对不上时,直接相加生成新的series, # 该series的行索引是原先两个Dataframe索引的并集. e = df1['a'] + df2['c'] print(e) # 当将相加的结果赋给其中一个Dataframe时,生成的索引与被赋的那个一样, # 能对上的直接相加,对不上的就为空值. df1['e'] = df1['a'] + df2['c'] print(df1) # a b # 2 1 3 # 3 2 6 # 4 3 9 # 5 4 12 # c d # 0 2 6 # 1 3 7 # 2 4 8 # 3 5 9 # 0 NaN # 1 NaN # 2 5.0 # 3 7.0 # 4 NaN # 5 NaN # dtype: float64 # a b e # 2 1 3 5.0 # 3 2 6 7.0 # 4 3 9 NaN # 5 4 12 NaN