【问题标题】:Pandas dataframe removes certain rows after downloading as csv熊猫数据框在下载为 csv 后删除某些行
【发布时间】:2021-07-14 16:48:53
【问题描述】:

我有一个 2gb 的 csv 文件,它是使用 pandas 创建的。这是数据框在下载为 .csv 文件之前的样子:

id, x, y
1, 2, 3
1, 2, 3
2, 1, 2

x 和 y 是使用合并函数创建的(我将它合并到 id 列上)。 这是我将其下载为 csv(使用 to_csv 函数)并将其解析为 df(使用 read_csv 函数)后的样子:

id, x, y
1, NaN, NaN
1, 2, 3
2, 1, 2

我该如何解决这个问题?

【问题讨论】:

  • df.groupby('id').bfill() ?不知道为什么它会在下载后删除您的数据,也许您的 csv 已损坏?
  • 合并函数的代码与您的数据看起来如何?一个原因应该是混合 1string - '1' 和数字,1 - 所以如果使用左连接 '1' 不应该合并(我只是猜测,这是与数据相关的问题)

标签: python pandas dataframe


【解决方案1】:

我不知道它是否对你有帮助,但你是如何创建这个 .csv 文件的?你在用字典吗?这是我如何查看编写函数的示例,我已经检查过它,python 可以很好地读取它,没有 NaN。

fieldnames = ['id','x','y']
rows = [
        {'id': 1,
        'x': 2,
        'y': 3},
        {'id': 1,
         'x': 2,
         'y': 3},
        {'id': 2,
         'x': 1,
         'y': 2},]

with open('example.csv', 'w', encoding='UTF8', newline='') as f:
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerows(rows)

【讨论】:

  • 但是你有一些错误,或者它与你对答案的想法不匹配?
  • 就是不符合思路
猜你喜欢
  • 2022-12-17
  • 2023-04-04
  • 2017-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-17
  • 2021-01-11
相关资源
最近更新 更多