问题描述
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)]
解决方法
您的字典键是什么?我猜这些键与您的列不对齐。
在第二个选项中,您让熊猫分配默认的列名称,然后覆盖它们。
当列名对齐时,类似下面的代码的东西可以工作-但是在这种情况下,显式定义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)])