【问题标题】:reading sparse csv file into pandas将稀疏的 csv 文件读入 pandas
【发布时间】:2012-10-28 04:37:43
【问题描述】:

我有一个空格分隔的 CSV 文件,格式如下:

2012-11-01 1 2012-12-01 4 2013-02-01 6
2012-12-01 2 2013-01-01 nan
2012-11-01 3 2012-12-01 5 2013-01-01 5 2013-04-01 7

基本上日期后跟一个值,但日期是稀疏的。一些值是 nan,或者也可能丢失。我希望能够将其读入 Pandas 并根据相应的日期排列值。

运行熊猫:

import pandas as pd
pd.read_csv('sparse.csv', sep=" ", parse_dates=True)

错误:

ValueError: Expecting 6 columns, got 8 in row 1

读取此文件并对齐日期/值的方法是什么?

(我可以做一些“预处理”吗?)

谢谢

【问题讨论】:

    标签: python csv pandas


    【解决方案1】:

    CSV 应包含具有相同字段数的行。如果它只是成对的日期数字而没有成对之间的关​​系,则它不是 CSV,而只是成对的文件。所以,它应该被解析为成对的文件:

    input = open("sparse.csv").read().split() # split by newlines and spaces
    i = iter(input)
    for date in i:
        if date != "nan":
            value = i.next()
            # process pairs
    

    【讨论】:

    • 谢谢。我也在考虑类似的方法。
    猜你喜欢
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 2023-03-17
    • 1970-01-01
    • 2011-06-01
    • 2018-01-22
    相关资源
    最近更新 更多