ele*_*rck 4 python data-processing pandas
我正在尝试“清除”某些数据。我的价值观是负面的,而它们不可能是负面的。我想替换所有负值而不是其对应的正值。
A | B | C
-1.9 | -0.2 | 'Hello'
1.2 | 0.3 | 'World'
Run Code Online (Sandbox Code Playgroud)
我希望这成为
A | B | C
1.9 | 0.2 | 'Hello'
1.2 | 0.3 | 'World'
Run Code Online (Sandbox Code Playgroud)
截至目前,我才刚刚开始编写replace语句
df.replace(df.loc[(df['A'] < 0) & (df['B'] < 0)],df * -1,inplace=True)
Run Code Online (Sandbox Code Playgroud)
请在正确的方向帮助我
只需致电abs:
In [349]:
df = df.abs()
df
Out[349]:
A B
0 1.9 0.2
1 1.2 0.3
Run Code Online (Sandbox Code Playgroud)
另一种方法是创建一个布尔掩码,删除NaN行,调用loc索引并分配负值:
df.loc[df[df<0].dropna().index] = -df
Run Code Online (Sandbox Code Playgroud)
编辑
对于您有字符串的情况,以下方法将起作用:
In [399]:
df[df.columns[df.dtypes != np.object]] = df[df.columns[df.dtypes != np.object]].abs()
df
Out[399]:
A B C
0 1.9 0.2 Hello
1 1.2 0.3 World
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7603 次 |
| 最近记录: |