为什么在使用 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)])
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)])