首页 > 解决方案 > 如何在熊猫数据框中找到一列numpy数组的布尔值?

问题描述

所以我试图找出数据帧中numpy数组中的前一个数字是否大于一个数字。所以这里是代码:

import pandas as pd
import numpy as np
arr_1 = np.array([7, 1, 6, 9, 2, 4])
arr_2 = np.array([5, 8, 9, 10, 2, 3])
arr_3 = np.array([1, 9, 3, 4, 5, 1])

dict_of_arrs = {
    'arr' : [arr_1, arr_2, arr_3]
}
df = pd.DataFrame(dict_of_arrs)
df

其输出为:

     arr
0   [7, 1, 6, 9, 2, 4]
1   [5, 8, 9, 10, 2, 3]
2   [1, 9, 3, 4, 5, 1]

所以我的问题是,如果每行的每个数组中的第二个数字大于第一个,以及每个数组中的每个数字的第三个是否大于第二个等等,我的问题是什么代码能够找出来。如果数字更大,则代码的输出为 True,如果数字不在每个数组中,则输出为 False。谢谢你。

标签: pythonpandasnumpydataframeboolean

解决方案


我会做

df.arr.apply(lambda x : np.diff(x)>0)
0    [False, True, True, False, True]
1     [True, True, True, False, True]
2    [True, False, True, True, False]
Name: arr, dtype: object

推荐阅读