繁体   English   中英

Pandas DataFrame read_csv 第一列作为字典中的键,第二列作为值(以简单的方式)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM