pandas - 返回 Pandas DataFrame列的零或者值的最大值

  显示原文与译文双语对照的内容
0 0

我想负值的熊猫DataFrame列中的替换为零。

有没有更简洁的方法来构造此表达式?

df['value'][df['value'] < 0] = 0
时间:原作者:4个回答

0 0

这是规范的办法来做呢,而不一定变得更简洁,更灵活( 可将此中任意列)

In [39]: df = DataFrame(randn(5,1),columns=['value'])
In [40]: df
Out[40]: 
      value
0  0.092232
1 -0.472784
2 -1.857964
3 -0.014385
4  0.301531
In [41]: df.loc[df['value']<0,'value'] = 0
In [42]: df
Out[42]: 
      value
0  0.092232
1  0.000000
2  0.000000
3  0.000000
4  0.301531
原作者:
0 0

你可以使用 剪辑方法:

import pandas as pd
import numpy as np
df = pd.DataFrame({'value': np.arange(-5,5)})
df['value'] = df['value'].clip(0, None)
print(df)

产生

   value
0      0
1      0
2      0
3      0
4      0
5      0
6      1
7      2
8      3
9      4
原作者:
...