我有以下数据框:
# List of Tuples
matrix = [([22, 23], [34, 35, 65], [23, 29, 31]),
([33, 34], [31, 44], [11, 16, 18]),
([44, 56, 76], [16, 34, 76], [21, 34]),
([55, 34], [32, 35, 38], [22, 24, 26]),
([66, 65, 67], [33, 38, 39], [27, 32, 34]),
([77, 39, 45], [35, 36, 38], [11, 21, 34])]
# Create a DataFrame object
df = pd.DataFrame(matrix, columns=list('xyz'), index=list('abcdef'))
我可以应用我的自定义函数来输出列表中的开始、结束项目,如下所示:
def fl(x):
return [x[0], x[len(x)-1]]
df.apply(lambda x : [fl(i) for i in x])
但我想将该函数应用于选定的列 x 和 z。
我正在尝试如下参考此链接
df.apply(lambda x: fl(x) if x in ['x', 'y'] else x)
像这样:
df[['x', 'y']].apply(fl)
如何使用仅应用于 x 和 z 列且 y 列未更改的函数来获取输出。