简体   繁体   English

在Pandas中将一列拆分为多列

[英]Split a column into multiple columns in Pandas

data={'GradeCol':['BVCS,105308.248']}

data1=DataFrame(data)
print(data1)
data1[['GradeColText','GradeColNum']] = pd.DataFrame([x for x in 
data1.GradeCol])

#data1[['GradeColText','GradeColNum']] = 
#pd.DataFrame(data1.GradeCol.values.tolist())
print(data1)

while splitting row into columns getting error ValueError: Columns must be same length as key 将行拆分为列时出现错误ValueError:列的长度必须与键的长度相同

Expected output 预期产量

GradeColText GradeColNum

BVCS         105308.248

Try this ? 尝试这个 ?

data={'GradeCol':['BVCS,105308.248']}
df=pd.DataFrame(data)
df = pd.DataFrame(df.GradeCol.str.split(',', 1).tolist(),
                  columns=['GradeColText', 'GradeColNum'])

  GradeColText GradeColNum
0         BVCS  105308.248

You can use df.str.rsplit(expand=True) : 您可以使用df.str.rsplit(expand=True)

In [429]: df[['GradeColText', 'GradeColNum']] = df['GradeCol'].str.rsplit(',', expand=True)

In [432]: df.drop(['GradeCol'], axis=1, inplace=True); df
Out[432]: 
  GradeColText GradeColNum
0         BVCS  105308.248

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM