我想从python中的数据框创建字典。 在此数据框中,第一列包含所有键,而另一列包含该键的多个值。
DATAKEY DATAKEYVALUE
name mayank,deepak,naveen,rajni
empid 1,2,3,4
city delhi,mumbai,pune,noida
我尝试使用此代码先将其转换为简单的数据帧,但所有值均未按行分开:
columnnames=finaldata['DATAKEY']
collist=list(columnnames)
dfObj = pd.DataFrame(columns=collist)
collen=len(finaldata['DATAKEY'])
for i in range(collen):
colname=collist[i]
keyvalue=finaldata.DATAKEYVALUE[i]
valuelist2=keyvalue.split(",")
dfObj = dfObj.append({colname: valuelist2}, ignore_index=True)
答案 0 :(得分:0)
您应该修改标题问题,这很容易引起误解,因为熊猫数据框本身就是“种类”字典,这就是为什么您第一个评论与.to_dict()
熊猫的内置方法有关。 / p>
您实际上想要做的是逐行遍历熊猫数据框,并为每一行从第一列生成一个词典密钥,并从第二列生成一个词典列表。
为此,您将必须使用:
使用所有这些工具,您所要做的就是:
split()
请注意,这将生成一个字典,其值是字符串列表。如果“ DATAKEYVALUE”列的内容不是单引号字符串,将无法正常工作。
还请注意,如果数据帧很大,这可能不是最有效的解决方案。