为什么使用 pandas 创建数据框时无法定义列名称?

import pandas as pd


DF = pd.DataFrame(DICTIONARY, 

                  index = [r"$\lambda$="+str(i) for i in range(3)],

                  columns = [r"$\xi$="+str(j) for j in range(3)])

有几次,当我有一本字典(不是很大)并尝试将其转换为数据帧时,上面的代码会生成一个每个单元格为NaN. 但下面的代码运行良好。我想知道有什么区别?


DF = pd.DataFrame(DICTIONARY, index = [r"$\lambda$="+str(i) for i in range(3)])

DF.columns = [r"$\xi$="+str(j) for j in range(3)]


慕的地6264312
浏览 100回答 1
1回答

呼如林

你的字典键是什么?我猜按键与您的列不对齐。在第二个选项中,您让 pandas 分配默认列名称,然后覆盖它们。当列名称对齐时,类似下面的代码可以工作 - 但显式定义 columns 参数,在这种情况下,不会添加任何值,因为 dict 键已经提供了名称。DF = pd.DataFrame({1:1,2:2,3:3},     index = [r"$\lambda$="+str(i) for i in range(3)],     columns = [j+1 for j in range(3)])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python