也许是一个非常幼稚的问题,但我被困在这个问题上: pandas.Series
有一个方法 sort_values
并且有一个选项可以“就地”进行或不进行。我用谷歌搜索了一段时间,但我不是很清楚。似乎这件事被认为是除了我以外的所有人都知道的。谁能给我一些说明性的解释,这两个选项对于傻瓜来说有何不同……?
感谢您的帮助。
原文由 Karel Macek 发布,翻译遵循 CC BY-SA 4.0 许可协议
也许是一个非常幼稚的问题,但我被困在这个问题上: pandas.Series
有一个方法 sort_values
并且有一个选项可以“就地”进行或不进行。我用谷歌搜索了一段时间,但我不是很清楚。似乎这件事被认为是除了我以外的所有人都知道的。谁能给我一些说明性的解释,这两个选项对于傻瓜来说有何不同……?
感谢您的帮助。
原文由 Karel Macek 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如您从 sort_values 文档 中所读到的,该函数的返回值是一个系列。但是,这是一个新系列而不是原始系列。
例如:
import numpy as np
import pandas as pd
s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s)
a -0.872271
b 0.294317
c -0.017433
d -1.375316
e 0.993197
dtype: float64
s_sorted = s.sort_values()
print(s_sorted)
d -1.375316
a -0.872271
c -0.017433
b 0.294317
e 0.993197
dtype: float64
print(id(s_sorted))
127952880
print(id(s))
127724792
所以 s
和 s_sorted
是不同的系列。但是如果你使用 inplace=True。
s.sort_values(inplace=True)
print(s)
d -1.375316
a -0.872271
c -0.017433
b 0.294317
e 0.993197
dtype: float64
print(id(s))
127724792
它表明它们是同一系列,并且不会返回新系列。
原文由 SSC 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
这是一个例子。
df1
将保存排序后的数据帧df
将保持完整在下面的例子中,
df
将保存排序后的值