gpt4 book ai didi

python - 使用具有不同大小值的索引创建 pandas 数据框

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:25 26 4
gpt4 key购买 nike

是否可以执行以下操作(dict 是第一行索引的数据):

dict={'col1':1,'col2':[1,2],'col3':'str'}

nm=pd.DataFrame(dict,index=['new line'])

我希望收到一个如下所示的数据帧:

nm

col1 col2 col3

new line 1 [1,2] str

使用列表类型的 col2 中的值,但我收到以下错误:

ValueError: could not broadcast input array from shape (2) into shape (1)

谢谢!

最佳答案

您错过了一个[]:

dict={'col1':1,'col2':[[1,2]],'col3':'str'} 
nm=pd.DataFrame(dict,index=['new line'])

print nm
col1 col2 col3
new line 1 [1, 2] str

或者:

dict={'col1':[1],'col2':[[1,2]],'col3':['str']} 
nm=pd.DataFrame(dict,index=['new line'])

print nm
col1 col2 col3
new line 1 [1, 2] str

如果您有更多值,则需要对每列使用列表作为Series,因此如果您需要在列中使用list,则必须使用list<列表:

dict={'col1':[1, 2],'col2':[[1,2], [3,5]],'col3':['str', 'str1']} 
nm=pd.DataFrame(dict,index=['new line', 'new line1'])

print nm
col1 col2 col3
new line 1 [1, 2] str
new line1 2 [3, 5] str1

将非标量值存储为数据元素是不明智的,并且通常您将无法访问矢量化方法,因为 nppandas 没有用于附加到 list 以矢量化方式。 link

关于python - 使用具有不同大小值的索引创建 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com