2024-09-28 22:10:15 发布
网友
我想为数据帧中的每个元素添加-3和3的地板和天花板
df=pd.DataFrame({'a':[4,-3,6,2],'b':[1,2,3,4],'c':[11,-4.5,2,6]})
最终结果应该显示
我通过遍历每个列然后使用
df['a'].apply(lambda x: -3 if x<-3 else (3 if x>3 else x))
有没有一种更优雅(python)的方法来实现这一点
使用^{}:
df = df.clip(-3, 3).astype(int) a b c 0 3 1 3 1 -3 2 -3 2 3 3 2 3 2 3 3
整数转换是必需的,因为序列c最初是float。似乎pd.DataFrame.clip不会触发dtypes的重铸。在
c
float
pd.DataFrame.clip
dtypes
使用^{} :
整数转换是必需的,因为序列
c
最初是float
。似乎pd.DataFrame.clip
不会触发dtypes
的重铸。在相关问题 更多 >
编程相关推荐