我试图在带有两个键的字典中读取,第一个带有字符串值,第二个带有字符串值列表。包含列表的值可以(通常是)为空。例如:
{'number': '50', 'box': []}
但是,当我尝试使用DataFrame.from_dict
时,它会给我一个空的DataFrame。我注意到,如果'box'列表有多个元素,DataFrame.from_dict
将为我提供一个包含多行的DataFrame,每个值对应一个框列表中的每个值。这似乎是一种交叉产品行为。有没有办法让我抑制这种行为,以便我可以从上面的例子中生成一行DataFrame,其中“number”列的值为“50”,列“box”的值为[]
?< / p>
我通过Anaconda 2.3.0(64位Windows)使用Pandas 0.16.2和Python 2.7.10。
答案 0 :(得分:1)
如果要使用单行创建DataFrame,可以提供包含单个字典的列表:
df = pd.DataFrame([{'number': '50', 'box': []}])
from_dict
函数需要一个dict-of-lists,其中键表示列,每个值都是一个列表(因为DataFrame通常有多行),表示每行的值。以下使用from_dict
生成等效结果:
df = pd.DataFrame.from_dict({'number': ['50'], 'box': [[]]})
答案 1 :(得分:0)