Mos*_*man 3 python replace infinite pandas
我有一个看起来像的数据框
City Crime_Rate
A 10
B 20
C inf
D 15
Run Code Online (Sandbox Code Playgroud)
我想用 Crime_Rate 列的最大值替换 inf,这样我的结果数据框应该看起来像
City Crime_Rate
A 10
B 20
C 20
D 15
Run Code Online (Sandbox Code Playgroud)
我试过
df['Crime_Rate'].replace([np.inf],max(df['Crime_Rate']),inplace=True)
Run Code Online (Sandbox Code Playgroud)
但是python将inf作为最大值,我哪里出错了?
过滤掉inf第一个值,然后得到max的Series:
m = df.loc[df['Crime_Rate'] != np.inf, 'Crime_Rate'].max()
df['Crime_Rate'].replace(np.inf,m,inplace=True)
Run Code Online (Sandbox Code Playgroud)
另一种解决方案:
mask = df['Crime_Rate'] != np.inf
df.loc[~mask, 'Crime_Rate'] = df.loc[mask, 'Crime_Rate'].max()
print (df)
City Crime_Rate
0 A 10.0
1 B 20.0
2 C 20.0
3 D 15.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10012 次 |
| 最近记录: |