【问题标题】:Reading .txt file columns into pandas data frame and creating new columns将 .text 文件列读入 pandas 数据框并创建新列
【发布时间】:2017-08-04 05:46:58
【问题描述】:

我有一个 .txt 文件,如下所示:

      156 2.87893e+06
      157 968759
      699 2.15891e+06
      700 44927.2
      1108 830338
      1156 70513.5
      1172 64263.2

以上文件是我在运行 c++ prog 时获得的输出文件。我想要 pandas df 中的这个输出文件。

我尝试了以下代码:

       df = pd.read_csv("output.txt", index_col=0)
       df

但在这里,.txt 文件中的列成为 df 中的一列。我想要分别在 2 列中的值,可能带有列标题。

OR 因为它是一个文本文件,如果它们不是 .txt 文件中的 2 个不同的列,则每行有 2 个值,由空格分隔。如何在 pandas df 中将它们放在两个不同的 cols 中?

另外,我尝试了以下代码:

        df = pd.read_csv("output.txt")
        df.iloc[:,(0)]

现在,原始文本文件的第一行根本没有出现,两个值再次出现在一个列中。

【问题讨论】:

  • 您是否尝试将 sep= ' ' 作为 read_csv() 的参数?

标签: python pandas dataframe


【解决方案1】:

pandas.read_csv 的默认分隔符是逗号,,您需要将sep 参数显式指定为空格,以便读取以空格分隔的文件:

df = pd.read_csv("output.txt", sep = " ", index_col=0, header=None)

【讨论】:

  • 在实施您的建议时,它将第一行数据视为列名。
  • 如果文件不包含列名,则使用 header=None。
猜你喜欢
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2021-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-07
相关资源
最近更新 更多