我有下面的df,并且我只想取各列的数字(及其符号)。 原始df是:
0 1 2 3 4 5
0 ddd [ -03 62.0 16 ] nal [ 01 -49.0 00149 ]
1 ddd [ -04 61.0 15 ] nal [ 00 -32.0 00209 ]
,我想获得以下信息:
0 1 2 3 4 5
0 -03 62.0 16 01 -49.0 00149
1 -04 61.0 15 00 -32.0 00209
我该怎么办?
答案 0 :(得分:1)
将Series.str.extract
与DataFrame.apply
一起用于DatFrame的所有列,以提取具有-
值的浮点整数:
df = df.astype(str).apply(lambda x : x.str.extract(r'([-]?\d+\.*\d*)', expand=False))
print (df)
0 1 2 3 4 5
0 -03 62.0 16 01 -49.0 00149
1 -04 61.0 15 00 -32.0 00209
答案 1 :(得分:1)
这可能对您有用:
import pandas as pd
df = pd.DataFrame({'Data': ['Tres3', 'Acht8', 'SevenTwo72']})
df['Data'] = df['Data'].map(lambda x: ''.join([i for i in x if i.isdigit()]))`
#Returns:
#3
#8
#72