我想用单独的标题在3个不同的列中获取col1的值。
Date/Time col1
0 2019/03/20 10:00:09 212.0/212.0/212.0
到目前为止,我尝试过
import pandas as pd
data1 = pd.read_csv('file1.csv')
s= pd.Series(data1['col1'])
s.str.split(pat = '/', expand=True)
0 1 2
0 212.0 212.0 212.0
现在,我该如何放置标头并将其累积到data1中。
答案 0 :(得分:1)
假设s
是输出中显示的数据框,则可以merge
将此数据框改成原始的data1
,然后使用df.rename
重命名列:
data1.merge(s, left_index=True, right_index=True).rename({0: 'colA', 1: 'colB', 2: 'colC'}, axis=1)
Datetime col1 colA colB colC
0 2019/03/20 10:00:09 212.0/212.0/212.0 212.0 212.0 212.0
1 2019/03/20 10:30:09 222.0/222.0/222.0 222.0 222.0 222.0
2 2019/03/20 11:00:09 232.0/232.0/232.0 232.0 232.0 232.0
或者如果您有原始数据帧data1
,则可以一步完成此操作:
data1[['colA','colB','colC']] = data1.col1.str.split('/', expand=True)
Datetime col1 colA colB colC
0 2019/03/20 10:00:09 212.0/212.0/212.0 212.0 212.0 212.0
1 2019/03/20 10:30:09 222.0/222.0/222.0 222.0 222.0 222.0
2 2019/03/20 11:00:09 232.0/232.0/232.0 232.0 232.0 232.0