Python Pandas DataFrame read_csv第一列作为字典中的键,第二列作为值(以简单的方式)
给定df=pandas.read的输出(somePath,header=None): 如何将其转换为:Python Pandas DataFrame read_csv第一列作为字典中的键,第二列作为值(以简单的方式),python,pandas,csv,Python,Pandas,Csv,给定df=pandas.read的输出(somePath,header=None): 如何将其转换为: 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
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\u csv()
或python native命令是否有一种本机的简单方法?谢谢。假设您已经阅读了数据,并希望将其作为口述
类似这样的方法可能会奏效:
df.set_index('0').T.to_dict('records')[0]
{'Name': 'Bambang', 'Gender': 'Male', 'Age ': '25'}
此外,如果你真的想这样做,最好使用python的reader来获取你的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,它从一端变得简单多了-:获取numpy值并应用dict:
dict(df.to_numpy())
{'Name': 'Bambang', 'Gender': 'Male', 'Age': '25'}
使用pandas.read_csv()是否有一种简单的方法?我不这么认为,不过您可以使用
zip()
。删除“(yo)
是故意的吗?另一方面,变量和函数名通常应遵循带有下划线的小写形式。@AMC删除的内容是拼写错误,我会纠正它。至于风格,这取决于程序员,对吗?哈哈。我仍然遵循我的旧习惯,使用小写和大写样式
。无论如何,如何实现zip()
您能告诉我如何使用python原生csv来实现dic吗?我不熟悉open
。我会给你这个密码的公认答案。不管怎么说,去掉“yo”就是打字错误。你能编辑你的答案以避免混淆其他答案吗?。谢谢。这不是很复杂吗?为什么不直接使用dict(zip())
?只需选中@AMC,它可能会简单得多:dict(df.to_numpy())
@sammywemmy真棒,我不知道dict()
会正确地将键和值与那种输入分开。虽然它可能会导致类型出现一些问题,但在这里应该没有问题。
dict(df.to_numpy())
{'Name': 'Bambang', 'Gender': 'Male', 'Age': '25'}