【问题标题】:Reshaping txt file to match the desired format with Pandas使用 Pandas 重塑 txt 文件以匹配所需的格式
【发布时间】:2021-06-30 14:16:45
【问题描述】:

大家好。我有一个错误的 txt 文件,其中奇数行有 11 个项目,偶数行有 3 个项目,但我需要 14 列。当我使用np.loadtxt('Boston.txt') 时,它给出了

ValueError:第 2 行的列数错误

当我使用pd.read_csv(('Boston.txt'), sep='\s+') 时,它会以某种方式工作,但会显示类似这样的内容(11 个项目作为列,第一行有 3 个项目,包含 8 个 NaN):

0.00632 18.00 2.310 0 0.5380 6.5750 65.20 4.0900 1 296.0 15.30

0 396.90000 4.98 24.00 NaN NaN NaN NaN NaN NaN NaN NaN

谁能帮我解决这个问题,让我有 14 列命名:column=['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', ' DIS'、'RAD'、'TAX'、'PTRATIO'、'B'、'LSTAT'、'MEDV']。提前谢谢你。

【问题讨论】:

    标签: python pandas dataframe numpy


    【解决方案1】:

    没有得到答案,普通python也是如此,也许它可以帮助某人。

    columns = ('CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD',
               'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV')
    boston_dict = {}
    for item in columns:
        boston_dict[item] = []
    
    with open('Boston.txt', 'r') as f:
        line = f.readline()
        while line:
            total_list = (line + f.readline()).strip().split()
            for key, value in zip(boston_dict.keys(), total_list):
                boston_dict[key].append(float(value))
            line = f.readline()
    

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 2017-11-03
      • 2023-03-07
      • 1970-01-01
      • 2012-03-03
      相关资源
      最近更新 更多