在使用Series来创建dataFrame时若在dataFrame()方法中指定index名称元素会变成NaN,如下
df = pd.DataFrame({"col1": pd.Series([1320,3]), "col2": pd.Series([2,114])},index=["a", "b"])
输出结果:
col1 col2
a NaN NaN
b NaN NaN
这里是由于我们通过list生成的Series没有指定index索引,编译器默认分配了0,1作为索引,所以dataFrame中找不到我们指定的a,b索引。
通过给series变量s1添加索引,创建dataFrame得到如下:
s1=pd.Series([1,2],index=["a","b"])
s2=pd.Series([3,4])
df1 = pd.DataFrame({"col1": s1, "col2": s2})
输出结果:
col1 col2
a 1.0 NaN
b 2.0 NaN
0 NaN 3.0
1 NaN 4.0
所以我们想通过series生成的dataFrame添加索引必须让作为参数的series具备同样的索引如下:
s1=pd.Series([1,2],index=["a","b"])
s2=pd.Series([3,4],index=["a","b"])
df1 = pd.DataFrame({"col1": s1, "col2": s2})
col1 col2
a 1 3
b 2 4