這一個不平凡的功能大熊貓據幀一列是這一個後續問題:how to select/add a column to pandas dataframe based on a function of other columns?如何選擇/添加基於其他列
有一個數據幀,我想選擇相匹配的行一些標準。該標準是其他列的值和一些附加值的函數。
這裏是一個玩具例子:
>> df = pd.DataFrame({'A': [1,2,3,4,5,6,7,8,9],
'B': [randint(1,9) for x in xrange(9)],
'C': [4,10,3,5,4,5,3,7,1]})
>>
A B C
0 1 6 4
1 2 8 10
2 3 8 3
3 4 4 5
4 5 2 4
5 6 1 5
6 7 1 3
7 8 2 7
8 9 8 1
我想選擇其中的一些不平凡函數返回true,例如所有行f(a,c,L),其中L是列表列表,f返回True如果a和c不是同一個子列表的一部分。 也就是說,如果L = [[1,2,3],[4,2,10],[8,7,5,6,9]我想:
A B C
0 1 6 4
3 4 4 5
4 5 2 4
6 7 1 3
8 9 8 1
謝謝!
謝謝!我確實有自己的解決方案(添加列或明確迭代索引),它們確實不那麼優雅。我想知道是否有一些很好的解決方案可以採用該功能並優雅地進行操作。 – ScienceFriction
我想你總是可以定義一個函數'f',它接受列'A',列'C'和列'L'的參數,然後'將其應用到你的數據幀中。請參閱 - > http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.apply.html –