pandas - Pandas - 替换特定列中的值
问题描述
如果大于 0,我正在尝试替换 Dataframe 中特定列中的所有值。我尝试了以下方法,但它替换了该特定行的所有列。
df.loc[(df['count'] > 0)] = 1
谁能帮忙,谢谢。。
解决方案
您很接近,需要在第二个参数中指定列:
df.loc[df['count'] > 0, 'count'] = 1
您还可以指定多个列:
df.loc[df['count'] > 0, ['count', 'another col']] = 1
另一种解决方案是:
df['count'] = np.where(df['count'] > 0, 1, df['count'])
#alternative
#df['count'] = df['count'].mask(df['count'] > 0, 1)
推荐阅读
- javascript - 功能与 readystatechange 不触发
- python - 使用 Python 拆分 CSV(Pandas DataFrame)文件的列
- ios - 单击按钮突出显示 SwiftUI 中的 while 垂直堆栈
- macros - 尝试在 FIJI/Image J 中循环宏
- c++ - 在 sqlite 中计算并选择前三名
- wpf - XAML / PowerShell -> 数组到 DataGrid
- html - 引导折叠导航栏消失
- php - 无法从模型实现 Laravel 中获取属性
- android - ADB Shell - 查找完整路径
- python - Python csv列表索引超出范围