我有一个像 df 这样的 pandas 数据框,带有列构造名称
construct_name
aaaa_t1_2
cccc_t4_10
bbbb_g3_3
等等。我想首先拆分下划线处的所有名称,并将第一个元素(aaaa、cccc 等)存储为另一个列名称。
预期产出
construct_name name
aaaa_t1_2 aaaa
cccc_t4_10 bbbb
等等。
我尝试了以下方法df['construct_name'].map(lambda row:row.split("_"))
它给了我一个像这样的列表
[aaaa,t1,2]
[cccc,t4,10]
等等
但当我这样做时
df['construct_name'].map(lambda row:row.split("_"))[0]
要获取列表的第一个元素,我收到错误。你能提出修复建议吗?谢谢
只需使用向量str http://pandas.pydata.org/pandas-docs/stable/api.html#string-handling method split http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.split.html#pandas.Series.str.split并使用列表上的整数索引来获取第一个元素:
In [228]:
df['first'] = df['construct_name'].str.split('_').str[0]
df
Out[228]:
construct_name first
0 aaaa_t1_2 aaaa
1 cccc_t4_10 cccc
2 bbbb_g3_3 bbbb
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)