Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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 替换一列中不带NA的值_Python_Pandas_Replace - Fatal编程技术网

Python 替换一列中不带NA的值

Python 替换一列中不带NA的值,python,pandas,replace,Python,Pandas,Replace,我有一个数据框,我想替换一列中的一些值。 我的专栏: col1 0 0.0 1 -89999991.0 2 1.0 3 2.0 4 0.0 5 11.0 我想替换所有需要替换为条件的值: df['col2'] = df['col1'].mask(df.col1 <0, 0) 另一个解决方案包括: 使用df。应用 df['col2'] = df['col1'].apply(lambda x:

我有一个数据框,我想替换一列中的一些值。 我的专栏:

         col1
0         0.0
1 -89999991.0
2         1.0
3         2.0
4         0.0
5        11.0
我想替换所有需要替换为条件的值

df['col2'] = df['col1'].mask(df.col1 <0, 0)
另一个解决方案包括:


使用
df。应用

df['col2'] = df['col1'].apply(lambda x: max(x,0))

你的问题不清楚。是否要使用col1和0的所有正值创建新列col2?还是要将col1的负值替换为0。现在,您正在使用0创建一个新列col2,其中col1为负值。从外观上看,您似乎正在剪裁小于0的值,如果是这样,您可以使用
df.clip(0)
。而不是
df['col1']。clip(0)
,应该比
apply
df['col2'] = df['col1'].mask(df.col1 <0, 0)
df['col2'] = np.where(df.col1 <0, 0, df['col1'])
print (df)
         col1  col2
0         0.0   0.0
1 -89999991.0   0.0
2         1.0   1.0
3         2.0   2.0
4         0.0   0.0
5        11.0  11.0
df['col2'] = df['col1'].clip_lower(0)
print (df)
         col1  col2
0         0.0   0.0
1 -89999991.0   0.0
2         1.0   1.0
3         2.0   2.0
4         0.0   0.0
5        11.0  11.0
df['col2'] = df['col1'].apply(lambda x: max(x,0))