关于pandas使用Series来创建dataFrame出现NaN的问题

在使用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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值