Python将数据帧字符串转换为浮点

Python将数据帧字符串转换为浮点,python,pandas,numpy,Python,Pandas,Numpy,文件格式如下 例如:img[0]是“70808272…”是字符串 然而,我知道通过转换为numpy数组并使用for循环可以解决这个问题 我想知道我是否可以在没有for循环的情况下处理数据帧 非常感谢设置 df = pd.read_csv(filename) label = df['laebl'] # first column is label img = df['feature'] # second column is image (48*48), bu

文件格式如下

例如:img[0]是“70808272…”是字符串

然而,我知道通过转换为numpy数组并使用for循环可以解决这个问题

我想知道我是否可以在没有for循环的情况下处理数据帧


非常感谢设置

    df = pd.read_csv(filename)
    label = df['laebl']     # first column is label
    img = df['feature']     # second column is image (48*48), but it is a long string

获取
功能
列,将其拆分,将其转换为列表,然后将其重新加载到新的数据帧中。从那里,使用
astype
将其转换为
int
,并添加列前缀

import io
import pandas as pd

text = \
'''label,feature
0,70 80 82 72
0,151 150 147 155'''

buf = io.StringIO(text)

df = pd.read_csv(but)

   label          feature
0      0      70 80 82 72
1      0  151 150 147 155
@阿查卡当然
。重命名(columns=lambda x:'x')
而不是
。添加前缀(…)
v = pd.DataFrame(df.feature.str.split().tolist()).astype(int).add_prefix('X')
v.insert(0, 'label', df.label)

v

   label   X0   X1   X2   X3
0      0   70   80   82   72
1      0  151  150  147  155