Python将数据帧字符串转换为浮点
文件格式如下 例如:img[0]是“70808272…”是字符串 然而,我知道通过转换为numpy数组并使用for循环可以解决这个问题 我想知道我是否可以在没有for循环的情况下处理数据帧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
非常感谢设置
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