我有一个 pandas 数据框,如下所示:
col1 col2 col3 ...
field1:index1:value1 field2:index2:value2 field3:index3:value3 ...
field1:index4:value4 field2:index5:value5 field3:index5:value6 ...
字段为int类型,索引为int类型,value可以为int或float类型。
我想将此数据框转换为以下预期输出:
col1 col2 col3 ...
index1:value1 index2:value2 index3:value3 ...
index4:value4 index5:value5 index5:value6 ...
我想删除所有field:
来自所有单元格的值。这个怎么做?
编辑:单元格的示例如下所示:1:1:1.0445731675303e-06
我想将这些字符串减少到1:1.0445731675303e-06
,在所有细胞中。
Given
>>> df
col1 col2 col3
0 1:index1:value1 2:index2:value2 3:index3:value3
1 1:index4:value4 2:index5:value5 3:index5:value6
您可以使用
>>> df.apply(lambda s: s.str.replace('^\d+:', '', regex=True))
col1 col2 col3
0 index1:value1 index2:value2 index3:value3
1 index4:value4 index5:value5 index5:value6
正则表达式'^\d+:'
匹配以数字序列开头并后跟冒号的字符串的开头。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)