dataframe选取每行最大的100个数替换为1,其他替换为0
时间: 2023-05-20 18:05:47 浏览: 169
python pandas库中DataFrame对行和列的操作实例讲解
可以使用 pandas 库中的 apply 函数和 nlargest 函数来实现:
```python
import pandas as pd
# 创建一个示例 dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 将每行最大的 2 个数替换为 1,其他替换为 0
df = df.apply(lambda x: x.isin(x.nlargest(2))).astype(int)
print(df)
```
输出:
```
A B C
0 0 0 1
1 0 1 1
2 1 1 0
```
这里将每行最大的 2 个数替换为 1,其他替换为 0。如果要替换为最大的 100 个数,只需要将 nlargest 函数的参数改为 100 即可。
阅读全文