Python 替换数据帧中的特定数字
我对Python编程相当陌生,对替换数据帧中的某些条件数有疑问。 例如,我有一个日期框,每列有5天的数据,分别是第1天、第2天、第3天、第4天和第5天。对于每一天,我有5个数据点,其中一些数据点每天大于5个。现在我想将大于5的数据设置为1。 那我该怎么做呢?循环到每个列中,找到特定的元素,然后对其进行更改,还是有其他更快的方法?Python 替换数据帧中的特定数字,python,pandas,replace,dataframe,Python,Pandas,Replace,Dataframe,我对Python编程相当陌生,对替换数据帧中的某些条件数有疑问。 例如,我有一个日期框,每列有5天的数据,分别是第1天、第2天、第3天、第4天和第5天。对于每一天,我有5个数据点,其中一些数据点每天大于5个。现在我想将大于5的数据设置为1。 那我该怎么做呢?循环到每个列中,找到特定的元素,然后对其进行更改,还是有其他更快的方法? 谢谢,这将迭代每列中的数据,并将高值更改为1。如前所述,iterrows的一个选项是按行而不是按列进行迭代,但通常较慢 import pandas as pd da
谢谢,这将迭代每列中的数据,并将高值更改为1。如前所述,
iterrows
的一个选项是按行而不是按列进行迭代,但通常较慢
import pandas as pd
data = {'day1' : pd.Series([1, 2, 3]),
'day2' : pd.Series([1, 4, 6]),
'day3' : pd.Series([5, 4, 3]),
'day4' : pd.Series([2, 4, 6]),
'day5' : pd.Series([7, 3, 2])}
df = pd.DataFrame(data)
对于df.列中的列:
df[col]=[x如果x要在不循环的情况下执行此操作(通常更快),可以执行以下操作:
df[df > 5] = 1
df[df > 5] = 1