[英]Pandas DataFrame read_csv first column as key in dictionary and second column as value (in a simple way)
给定df=pandas.read_csv(somePath,header=None)
的 output :
0 1
0 Name Bambang
1 Gender Male
2 Age 25
如何将其转换为:
dict_data={
'Name':Bambang,
'Gender':Male,
'Age':25
}
我可以做到,但很长的路要走:
df=pandas.read_csv(somePath,header=None)
df=df.set_index([0])
theDict=df.to_dict()
theDict=theDict[1]
是否有使用pandas.read_csv()
或 python 本机命令的原生简单方法? 谢谢你。
假设你已经阅读了数据并希望它作为一个字典
像这样的东西可以工作:
df.set_index('0').T.to_dict('records')[0]
{'Name': 'Bambang', 'Gender': 'Male', 'Age ': '25'}
此外,如果你真的想这样做,最好只使用 python 的csv阅读器来获取你的 dict,而不是先使用 pandas 的迂回方式然后 dict:
这就是数据在 data.txt 中的样子; 我不确定这是否完全复制了您所拥有的:
data = '''
Name Bambang
Gender Male
Age 25'''
data
import csv
A = []
with open('data.txt', newline = '') as csvfile:
content = csv.reader(csvfile,delimiter = ' ')
for row in content:
A.append([entry for entry in row if entry != ''])
dict(A)
{'Name': 'Bambang', 'Gender': 'Male', 'Age': '25'}
更新:感谢@AMC,它从 pandas 端简单得多 - :获取 numpy 值并应用 dict:
dict(df.to_numpy())
{'Name': 'Bambang', 'Gender': 'Male', 'Age': '25'}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.