如何使用python将此数据从.dat加载到数据框中

数据挖掘 Python 熊猫 数据框 麻木的
2022-02-15 15:27:16
1 1:31080.410200 2:2.871828 3:5.862267 4:7.100850 5:8.283706 6:-5.427875 7:-6.667087 8:-8.888233 9:28898.943400

有人可以告诉我如何将这些数据从 .dat 文件加载到数据框中。给出的数据使得属性编号:值。我只想要数据框中的值

1个回答

仅给定一行数据,有点难以摆脱,但我假设您正在尝试获取每个冒号之后的数字,而它之前的数字是指列名?

如果是这样,您可以使用 read_csv 稍作调整:

import pandas as pd
from pandas.compat import StringIO

temp='1 1:31080.410200 2:2.871828 3:5.862267 4:7.100850 5:8.283706 6:-5.427875 7:-6.667087 8:-8.888233 9:28898.943400'
#after testing replace StringIO(temp) to filename

df = pd.read_csv(StringIO(temp), 
                 sep="\s+", #separator whitespace
                 index_col=0,
                 header=None) 

for c in df.columns.values:
    df[c] = df[c].apply(lambda x: float(str(x).split(':')[1]))

df.head()

这将输出:

    1           2           3           4       5           6           7           8           9                               
1   31080.4102  2.871828    5.862267    7.10085 8.283706    -5.427875   -6.667087   -8.888233   28898.9434