为什么在使用 pandas 创建数据框时不能定义列名?

Why can't I define column names when I create the dataframe with 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)]

你的字典键是什么?我猜键与您的列不对齐。

在第二个选项中,您让 pandas 分配默认列名称,然后覆盖它们。

当列名对齐时,类似下面的代码可以工作 - 但显式定义列参数,在这种情况下,不会添加任何值,因为字典键已经提供了名称。

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)])