【问题标题】:How to convert a text file with variable number of delimiters into a dataframe?如何将具有可变数量分隔符的文本文件转换为数据框?
【发布时间】:2022-01-01 01:35:47
【问题描述】:

如何将以下文本数据转换为数据框?还有一种方法可以只在某些列上使用explode函数吗?比如说data3,data4只忽略前两个数据点data1,data2

Attribute1,data1,data2
Attribute2,data1,data2,data3,data4
Attribute3,data1,data2,data3
Attribute4,data1,data2,data3,data4,data5,data6

文本到数据框的输出应该是这样的:

Attribute1|data1|data2
Attribute2|data1|data2|data3|data4
Attribute3|data1|data2|data3
Attribute4|data1|data2|data3|data4|data5|data6

dataframe explode 的输出应该是这样的:

Attribute2|data3
Attribute2|data4
Attribute3|data3
Attribute4|data3
Attribute4|data4
Attribute4|data5
Attribute4|data6

【问题讨论】:

    标签: python pandas dataframe data-manipulation


    【解决方案1】:
    df = pd.read_csv('test.txt', header=None, sep=';')
    
    df = df[0].str.split(',', expand=True)
    df.set_index(0, inplace=True)
    df = df.stack().droplevel(1)
    print(df)
    

    输出:

    0
    Attribute1    data1
    Attribute1    data2
    Attribute2    data1
    Attribute2    data2
    Attribute2    data3
    Attribute2    data4
    Attribute3    data1
    Attribute3    data2
    Attribute3    data3
    Attribute4    data1
    Attribute4    data2
    Attribute4    data3
    Attribute4    data4
    Attribute4    data5
    Attribute4    data6
    

    【讨论】:

      猜你喜欢
      • 2017-02-12
      • 2022-01-11
      • 2019-09-29
      • 1970-01-01
      • 2022-11-10
      • 2022-11-14
      • 2018-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多