cli*_*val 3 python dataframe pandas
如何将每个pandasDataFrame值设为负值?我找不到这个答案,并认为它可以为学习如何使用pandasDataFrame中的数据的人提供一个很好的参考.
In [1]: frame
Out[1]:
position
index
0 6
1 7
2 7
3 7
4 8
5 9
6 1
7 1
Run Code Online (Sandbox Code Playgroud)
做- frame(或*-1):
In [122]: -frame
Out[122]:
position
index
0 -6
1 -7
2 -7
3 -7
4 -8
5 -9
6 -1
7 -1
Run Code Online (Sandbox Code Playgroud)
如其他人所述,如果您还有非数字列,则无法使用此功能.一种选择所有数字列的方法:
frame.select_dtypes(include=[np.number])
Run Code Online (Sandbox Code Playgroud)
如果已经负值应该保持负值,确实abs()如@Easypeasy所指出的那样使用.然后这变成:
- frame.select_dtypes(include=[np.number]).abs()
Run Code Online (Sandbox Code Playgroud)
您可以应用任何运算符或跨列应用。要就地改变它,只需将列乘以 -1:
\n\n>>> frame = pd.DataFrame({'position': [6,7,7,7,8,9,1,1]})\n>>> frame['position'] *= -1\n>>> frame\n position\n0 -6\n1 -7\n2 -7\n3 -7\n4 -8\n5 -9\n6 -1\n7 -1\nRun Code Online (Sandbox Code Playgroud)\n\n但在这种情况下,您甚至不需要指定一列,因为它是您唯一的一列,所以只需:
\n\n>>> frame *= -1\nRun Code Online (Sandbox Code Playgroud)\n\n如果您想创建一个副本而不是就地变异,那就更简单了:
\n\n>>> frame * -1\nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6 或者,等效且更简单:
\n\n>>> -frame\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4928 次 |
| 最近记录: |