【问题标题】:Python dataframe to list/dict用于列表/字典的 Python 数据框
【发布时间】:2022-11-29 16:18:48
【问题描述】:

我有一个示例数据框如下

我想在 python 中将此数据框转换为以下格式,以便我可以将其传递给 dtype

{ '名字':'字符串', '姓氏':'字符串', '部门':'整数', '员工ID':'字符串',}

任何人都可以让我知道如何做到这一点。

上面要注意:我需要确切的字符串{'FirstName': 'string', 'LastName': 'string', 'Department': 'integer', 'EmployeeID': 'string'}来自确切的数据框。

数据框具有主键名称列表及其数据类型。我想将这个 primary_key 和数据类型组合传递到concat_df.to_csv(csv_buffer, sep=",", index=False, dtype = {'FirstName': 'string', 'LastName': 'string', 'Department': 'integer', 'EmployeeID': 'string' })

【问题讨论】:

  • 图片是交换文本数据的非常差的媒介。始终复制粘贴它而不是加载屏幕截图。这是适得其反的。

标签: python json list dataframe dtype


【解决方案1】:

dict/zip这两个系列:

import pandas as pd

data = pd.DataFrame({
    'Column_Name': ['FirstName', 'LastName', 'Department', 'EmployeeID'],
    'Datatype': ['string', 'string', 'integer', 'string'],
})

mapping = dict(zip(data['Column_Name'], data['Datatype']))

print(mapping)

打印出来

{'FirstName': 'string', 'LastName': 'string', 'Department': 'integer', 'EmployeeID': 'string'}

【讨论】:

  • 上面要注意:我需要来自确切数据框的确切字符串 {'FirstName': 'string', 'LastName': 'string', 'Department': 'integer', 'EmployeeID': 'string'} 。数据框包含主键名称及其数据类型的列表。我想将这个 primary_key 和数据类型组合传递给 concat_df.to_csv(csv_buffer, sep=",", index=False, dtype = {'FirstName': 'string', 'LastName': 'string', 'Department': '整数','EmployeeID':'字符串'})
  • 这段代码确实输出了那个精确的映射。我不确定是什么问题..?
【解决方案2】:

您可以对数据进行简单的字典理解:

输入数据: data = pd.DataFrame({'Column_Name' : ['FirstName', 'LastName', 'Department'], 'Datatype' : ['Jane', 'Doe', 666]})

字典理解:

{n[0]:n[1] for n in data.to_numpy()}

这会给你:

{'FirstName': 'Jane', 'LastName': 'Doe', 'Department': '666'}

当然还有其他方法,例如使用 pandas to_dict 函数,但我对此不是很熟悉。

编辑: 但请记住,字典需要唯一的值。 您的类别(名字、姓氏)看起来像一般类别。这在这里只适用于一个人,否则你有多个密钥。

【讨论】:

  • 他们不希望值是实际名称,而是键必须是数据类型,因此他们不会遇到多个键的问题。
  • 谢谢你。但我不是在寻找价值。我需要确切的字符串 --> {'FirstName': 'string', 'LastName': 'string', 'Department': 'integer', 'EmployeeID': 'string'}
猜你喜欢
  • 2017-03-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 2021-08-14
  • 2021-06-26
  • 2020-02-04
  • 2021-06-11
  • 2021-09-06
相关资源
最近更新 更多