我有“重量“列在我的数据框架,但在CSV文件,有很多不需要的文本,我需要删除的字母和所有字符,除了(.)从列的例子点:
import pandas as pd
df = pd.DataFrame(
[
(1, '+9.1A', 100),
(2, '-1A', 121),
(3, '5B', 312),
(4, '+1D', 567),
(5, '+1C', 123),
(6, '-2E', 101),
(7, '+3T', 231),
(8, '5A', 769),
(9, '+5B', 907),
(10, 'text', 15),
],
columns=['colA', 'weight', 'colC']
)
print(df)
预期结果是:
真实的
df = pd.DataFrame(
[
(0,68),
(1,67),
(2,68.1),
(3,97.1),
(4,113.9),
(5,114),
(6,112),
(7,111.8),
(8,111),
(9,110.8),
(10,111.2),
(11,),
(12,111.5),
(13,'Not Appropriate at t'),
],
columns=['colA', 'weight']
)
print(df)
2条答案
按热度按时间lymnna711#
可以使用
pandas.Series.str.extract
:对于真实的数据示例,在必须将列转换为
str
列之前:p3rjfoxz2#
你可以使用regex和apply来删除列中的这些部分: