Python 如何在数据帧中查找numpy数组列的布尔值?
所以我试图找出数据帧中numpy数组中的前一个数字是否大于一个数字。下面是代码:Python 如何在数据帧中查找numpy数组列的布尔值?,python,pandas,numpy,dataframe,boolean,Python,Pandas,Numpy,Dataframe,Boolean,所以我试图找出数据帧中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 =
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]
所以我的问题是,对于每一行,每个数组中的secound数是否大于第一行,第三行是否大于secound,依此类推。其中,如果数字较大,则代码的输出为True;如果数字不在每个数组中,则代码的输出为False。多谢各位 我会的
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