【问题标题】:Read entries from text file as column names从文本文件中读取条目作为列名
【发布时间】:2021-01-05 17:37:27
【问题描述】:

我有一个包含 1000 行/条目的文本文件。这 1000 个条目对应于我的数据框的列名。这些是需要添加到数据框中以进行模型开发的新功能。 我的输入文本文件如下所示:

show temperature all#Total Numbers Approved#g2/3
show temperature all#Total Numbers Approved#g2/2
show temperature all#Total Numbers Approved#g2/4
show temperature all#Total Numbers Approved#g0/2
show temperature all#Total Numbers Sent#g1/2
show temperature all#Total Numbers Sent#g1/3
show temperature all#Total Numbers Sent#g1/1
formulastat gpucores all parameter function-frames#formula:1#gpucores:11
formulastat gpucores all parameter function-frames#formula:1#gpucores:10
formulastat gpucores all parameter function-frames#formula:2#gpucores:10
formulastat gpucores all parameter function-frames#formula:2#gpucores:11
formulastat gpucores all parameter function-frames#formula:0#gpucores:8

我希望自动创建一个数据框,从文本文件中读取所有这些行作为列名?有没有办法可以将文本文件中的行作为单独的特征读取并作为数据框放置? 预期输出

Newdataframe_df2 = withtext_df[['show temperature all#Total Numbers Approved#g2/3', 
'show temperature all#Total Numbers Approved#g2/3', 'show temperature all#Total Numbers Approved#g2/2', 'show temperature all#Total Numbers Approved#g2/4', 
'show temperature all#Total Numbers Approved#g0/2', 'show temperature all#Total Numbers Sent#g1/2', 'show temperature all#Total Numbers Sent#g1/3', 
'show temperature all#Total Numbers Sent#g1/1', 'formulastat gpucores all parameter function-frames#formula:1#gpucores:11', 'formulastat gpucores all parameter function-frames#formula:1#gpucores:10', 'formulastat gpucores all parameter function-frames#formula:2#gpucores:10', 'formulastat gpucores all parameter function-frames#formula:2#gpucores:11', 'formulastat gpucores all parameter function-frames#formula:0#gpucores:8' ]

是否可以使用 pd.read csv 以便将文本文件条目作为数据框导入?

【问题讨论】:

    标签: python python-3.x pandas numpy dataframe


    【解决方案1】:

    IIUC

    import pandas as pd
    from io import StringIO
    
    s = """show temperature all#Total Numbers Approved#g2/3
    show temperature all#Total Numbers Approved#g2/2
    show temperature all#Total Numbers Approved#g2/4
    show temperature all#Total Numbers Approved#g0/2
    show temperature all#Total Numbers Sent#g1/2
    show temperature all#Total Numbers Sent#g1/3
    show temperature all#Total Numbers Sent#g1/1
    formulastat gpucores all parameter function-frames#formula:1#gpucores:11
    formulastat gpucores all parameter function-frames#formula:1#gpucores:10
    formulastat gpucores all parameter function-frames#formula:2#gpucores:10
    formulastat gpucores all parameter function-frames#formula:2#gpucores:11
    formulastat gpucores all parameter function-frames#formula:0#gpucores:8"""
    
    # note that StringIO will be replaced with the file path
    # then just read_csv and transpose the frame after setting header to none and index to col 0
    df = pd.read_csv(StringIO(s), header=None, index_col=0).T
    
    print(df.columns)
    
    Index(['show temperature all#Total Numbers Approved#g2/3',
           'show temperature all#Total Numbers Approved#g2/2',
           'show temperature all#Total Numbers Approved#g2/4',
           'show temperature all#Total Numbers Approved#g0/2',
           'show temperature all#Total Numbers Sent#g1/2',
           'show temperature all#Total Numbers Sent#g1/3',
           'show temperature all#Total Numbers Sent#g1/1',
           'formulastat gpucores all parameter function-frames#formula:1#gpucores:11',
           'formulastat gpucores all parameter function-frames#formula:1#gpucores:10',
           'formulastat gpucores all parameter function-frames#formula:2#gpucores:10',
           'formulastat gpucores all parameter function-frames#formula:2#gpucores:11',
           'formulastat gpucores all parameter function-frames#formula:0#gpucores:8'],
          dtype='object', name=0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 2010-10-11
      • 2014-05-11
      相关资源
      最近更新 更多