Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 替换数据帧中的特定数字_Python_Pandas_Replace_Dataframe - Fatal编程技术网

Python 替换数据帧中的特定数字

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

我对Python编程相当陌生,对替换数据帧中的某些条件数有疑问。 例如,我有一个日期框,每列有5天的数据,分别是第1天、第2天、第3天、第4天和第5天。对于每一天,我有5个数据点,其中一些数据点每天大于5个。现在我想将大于5的数据设置为1。 那我该怎么做呢?循环到每个列中,找到特定的元素,然后对其进行更改,还是有其他更快的方法?
谢谢,

这将迭代每列中的数据,并将高值更改为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