import pandas as pd
df = {'a': [3,4,5], 'b': [1,2,3], 'c': [4,3,3], 'd': [1,5,4], 'e': [9,4,6]}
df1 = pd.DataFrame(df, columns = ['a', 'b', 'c', 'd', 'e'])
dg = {'b': [2,3,4]}
df2 = pd.DataFrame(dg, columns = ['b'])
原始数据帧为df1。对于每一行,我想查找一个值第一次大于第一列中的值,并将其存储在新的数据框中。
df1
a b c d e
0 3 1 4 1 9
1 4 2 3 5 4
2 5 3 3 4 6
df2是结果数据帧。例如,对于df1第1行;第一个值是3,大于3的第一个值是4(列c)。因此,在df2第1行中,我们存储2(从a列到c列有两列)。对于df1第2行,第一个值为4,大于4的第一个值为5(d列)。因此,在df2第2行中,我们存储3(从a列到d共有三列)。对于df1第3行,第一个值是5,大于5的第一个值是6(列e)。因此,在df2第3行中,我们存储4(从a列到e共有4列)。
df2
b
0 2
1 3
2 4
我会很感激的。
In your case we can do
sub
, if the valuegt
than 0 , we get the id withidxmax