【问题标题】:convert python dict or csv file to a dataframe将 python dict 或 csv 文件转换为数据框
【发布时间】:2016-02-18 07:59:25
【问题描述】:

我有一个字典转储为 csv,如下所示。我如何将其转换为数据框 X,Y,SN 作为标题?我正在考虑编写一个 for 循环并使用 split 但它似乎不是很优雅也没有效率......

"49,42",001C0BA79A44
"49,43",001C0BA79A46
"49,40",001C0BA79A40
"49,41",001C0BA79A42
"67,22",001C0BA791E8
"65,31",001C0BA7991E
"67,23",001C0BA793BA
"64,25",001C0BA79416
"74,29",001C0BA79354
"65,33",001C0BA79922
"58,12",001C0BA78B2D
"65,32",001C0BA79920
"72,36",001C0BA79E08
"49,31",001C0BA79525
"65,51",001C0BA7A834
"62,46",001C0BA7A729
"49,30",001C0BA79523
"66,40",001C0BA79F45
"52,42",001C0BA7A07E
"58,17",001C0BA78F49
"52,40",001C0BA79A5E
"52,41",001C0BA79A60
"52,46",001C0BA7A0B8
"52,44",001C0BA7A082
"64,20",001C0BA791AD
"55,29",001C0BA7963E
"55,28",001C0BA7963C
"69,48",001C0BA7A689
"58,15",001C0BA78F45
"55,21",001C0BA79136
"55,20",001C0BA79134
"55,23",001C0BA7913A
"55,22",001C0BA79138
"55,25",001C0BA794A1
"55,24",001C0BA7949F

【问题讨论】:

  • 使用 pandas.read_csv()

标签: python numpy dictionary dataframe


【解决方案1】:

不要使用for 循环,向现有数据帧添加行效率不高。

def split(string):
     return string.split(',', 1)

df = pd.read_csv(file_path, header=None, names=['Cord', 'SN'])
df['X'], df['Y'] = zip(*df.Cord.map(split))
df = df[['X', 'Y', 'SN']]

请参阅文档here

【讨论】:

  • 熊猫阅读器是否正确处理"45,65", 格式?它可能会导致 numpy 阅读器出现问题。
  • 错过了。我已经编辑了答案以处理它们是单个字符串的事实。
猜你喜欢
  • 2013-09-21
  • 2019-04-13
  • 2019-09-27
  • 1970-01-01
  • 2021-12-05
  • 1970-01-01
  • 2021-10-15
  • 2013-01-08
相关资源
最近更新 更多