• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
weixin_45799973
帮助1

在使用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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkebef
系列文章
更多 icon
同类精品
更多 icon
继续加载