所以我有一个数据帧,看起来像这样:
df = pd.DataFrame({'feature1':[34,45,52],'feature2':[1,0,1],'unparsed_features':["neoclassical, heavy, $2, old, bronze", "romanticism, gold, $5", "baroque, xs, $3, new"]})
df
feature1 feature2 unparsed_features
0 34 1 neoclassical, heavy, $2, old, bronze
1 45 0 romanticism, gold, $5
2 52 1 baroque, xs, $3, new
我试图将列unparsed_features
分成6列(权重、年龄、颜色、大小、价格和周期),但正如您所见,顺序混乱,不仅如此,一些字段也丢失了。在
我对每一列可能是什么有一个大致的想法,如下所示:
^{pr2}$理想情况下,我希望我的数据帧如下所示:
df
feature1 feature2 unparsed_features weight price age \
0 34 1 neoclassical, heavy, $2, old, bronze heavy $2 old
1 45 0 romanticism, gold, $5 $5
2 52 1 baroque, xs, $3, new $3 new
size colour period
0 bronze neoclassical
1 gold romanticism
2 xs baroque
我知道第一步是用逗号分隔字符串,但之后我就不知所措了。在
df['unparsed_features'].str.split(',')
谢谢你的帮助。在
坦白地说,W-B是正确的,你需要修改你的dict,但是用下面可用的数据来解决是我的方法
输出
^{pr2}$由于} 和参数
'unparsed_features'
中的数据不是每行都有相同的结构,因此不确定是否有一种简单的方法来完成它。一种方法可以是使用您定义的字典main_dict
,循环每个项目,并使用^{pat
稍微不同于price
:\$\d+
允许查找符号$
之后的任何数字,(^|\W)
在list_item
中的任何单词之前查找空格或行首。在你得到了预期的结果:
^{pr2}$相关问题 更多 >
编程相关推荐