Pandas中,将Series添加到空DataFrame后变量顺序发生不期望的改变?

发布于 2022-09-11 17:44:57 字数 383 浏览 12 评论 0

原因已经找到了,在不事先设置好DataFrame的列标签时,append到数据框中的变量顺序会被自动调整

df = pd.DataFrame()
series=pd.Series([3,4,1,6],index=['b','a','d','c'])
df=df.append(series,ignore_index=True)

以上代码输出的结果为:

     a    b    c    d
0  4.0  3.0  6.0  1.0

如果要克服该问题除了

df = pd.DataFrame(columns=series.index)

不知道还有什么办法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白况 2022-09-18 17:45:02

没看懂代码逻辑, 如果要保持 series 的顺序, 直接赋值给 dataframe 新列便可, 如

s1 = Series([1,2,3])
s2 = Series(['a','b','c'])
df = DataFrame()
df['列1'] = s1
df['列2'] = s2
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文