python - 想要将整数和 float 与包含不同字符串的列分开

标签 python pandas

我试图从字符串列中仅提取整数和 float 我努力了 data['new'] = data['text'].str.extract(r'^\d+\.\d+$')

最佳答案

如果需要仅提取带有数字的值:

data = pd.DataFrame({'text':['20','45.45','ss4','7.4ds','dr']})
data['new'] = data['text'].str.extract(r'^(\d+\.\d+|\d+)$')
print (data)
    text    new
0     20     20
1  45.45  45.45
2    ss4    NaN
3  7.4ds    NaN
4     dr    NaN

然后转换为 float :

data['new'] = data['text'].str.extract(r'^(\d+\.\d+|\d+)$').astype(float)
print (data)
    text    new
0     20  20.00
1  45.45  45.45
2    ss4    NaN
3  7.4ds    NaN
4     dr    NaN

或者使用to_numeric功能:

data['new'] = pd.to_numeric(data['text'], errors='coerce')
print (data)
    text    new
0     20  20.00
1  45.45  45.45
2    ss4    NaN
3  7.4ds    NaN
4     dr    NaN

关于python - 想要将整数和 float 与包含不同字符串的列分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58024433/

相关文章:

python - Android 应用程序与 Python 后端之间的通信

python - 我正在尝试检测按下的某个键(Python)

python - numpy.loadtxt 值错误 : too many values to unpack

python - 如何打印 Pandas 数据框的特定行?

python - 如何将数据框中的第二列除以第一列?

python - 使用 Pandas 修改excel文件的标题

python - nvcc 致命 : Value 'sm_61' is not defined for option 'gpu-architecture' error with theano

python - 如何从 Excel 工作表中提取日期?

python - scikit-learn fit() 在规范化数据后导致错误

python - 使用新数据框更新 Pandas 数据框