我有一个数据框,在某些列中存在诸如“<0.5、<10、<100”等值。如果值仅包含“<”,我想将所有这些值替换为 0。我该怎么做?我对 Python 比较陌生。
尝试使用 pd.DataFrame.replace()。
import pandas as pd
# 创建示例数据框
df = pd.DataFrame({'A': ['<0.5', '<10', 15, 20],
'B': [5, 10, '<100', 15]})
# 将包含 '<' 的值替换为 0
df = df.replace(r'^<.*', 0, regex=True)
# 打印更新后的数据框
print(df)
这将创建一个名为“df”的示例数据框,其中两列“A”和“B”中包含字符串和数字值。
然后,我们使用
df.replace()
方法,它允许我们在数据框中进行替换。
-
第一个参数
r'^<.*'
是一个正则表达式,表示以 '<' 开头的任何字符串。 -
第二个参数
0
是我们要用来替换匹配值的值。 -
regex=True
允许我们使用正则表达式进行替换。
此代码将把数据框中所有以 '<' 开头的值(例如 '<0.5'、'<10'、'<100')替换为 0。
此解决方案的优点在于,它可以处理任何以 '<' 开头并后跟任何字符的值,而不仅仅是提供的示例。
标签:python,pandas,dataframe From: 78145534