自动数据对齐(索引感知行为)
如果要将一系列值[1,2]附加到 dataframe df 列,你将获得 NaN:
import pandas as pd
series=pd.Series([1,2])
df=pd.DataFrame(index=[3,4])
df['col']=series
df
col
3 NaN
4 NaN
因为设置一个新列会自动按索引对齐数据,而你的值 1 和 2 将获得索引 0 和 1,而不是数据框中的 3 和 4:
df=pd.DataFrame(index=[1,2])
df['col']=series
df
col
1 2.0
2 NaN
如果要忽略索引,则应在结尾处设置 .values:
df['col']=series.values
col
3 1
4 2