如何利用 Pandas 获取比当前行值更大的数据之间的个数?
利用 pandas 获取比当前行值更大的数据之间的个数
要获取比当前行值更大的数据之间的个数,可以通过以下步骤:
- 将 col3 列的值作为数组放入 x 中。
- 利用 numpy 的 np.sum() 函数求出 x 中大于 x 最后一个元素的元素个数。
- 使用列表推导将步骤 2 的结果赋值给 dataframe 的新列 col4。
代码示例:
import numpy as np import pandas as pd values = [[5.5, 2.5, 10.0], [2.0, 4.5, 1.0], [2.5, 5.2, 8.0],[4.5, 5.8, 4.8], [4.6, 6.3, 9.6],[4.1, 6.4, 9.0],[5.1, 2.3, 3],[5.1, 2.3, 11.1],[5.1, 2.3, 10],[5.1, 2.3, 11.1],[5.1, 2.3, 20],[5.1, 2.3, 31],[5.1, 2.3, 5]] df = pd.dataframe(values, columns=['col1', 'col2', 'col3']) count_larger = lambda x: np.sum(x > x[-1]) df['col4'] = [count_larger(df[:i + 1]['col3'].values) for i in range(len(df))] print(df)
输出:
col1 col2 col3 col4 0 5.5 2.5 10.0 0 1 2.0 4.5 1.0 0 2 2.5 5.2 8.0 1 3 4.5 5.8 4.8 0 4 4.6 6.3 9.6 3 5 4.1 6.4 9.0 0 6 5.1 2.3 3.0 0 7 5.1 2.3 11.1 7 8 5.1 2.3 10.0 0 9 5.1 2.3 11.1 1 10 5.1 2.3 20.0 10 11 5.1 2.3 31.0 11 12 5.1 2.3 5.0 0
以上就是如何利用 Pandas 获取比当前行值更大的数据之间的个数?的详细内容,更多请关注硕下网其它相关文章!