【发布时间】:2020-10-10 23:03:49
【问题描述】:
我有以下数据集:
data = {"C1":[[(3, 5), (6, 8), (9-10)], [(0, 2), (5, 7), (9, 10)], [], [(1, 11)], [(0, 7), (8, 10)], [(5, 6)], [(0, 1)]]}
dt = pd.DataFrame(data)
print(dt)
看起来像:
0 [(3, 5), (6, 8), (9,10)]
1 [(0, 2), (5, 7), (9, 10)]
2 []
3 [(1, 11)]
4 [(0, 7), (8, 10)]
5 [(5, 6)]
6 [(0, 1)]
我想得到每个元组的长度(元组的第二个元素减去第一个元素)。
我最喜欢的输出是这样的
0 [(3, 5), (6, 8), (9,10)] [2,2,1]
1 [(0, 2), (5, 7), (9,10)] [2,2,1]
2 [] []
3 [(1, 11)] [10]
4 [(0, 7), (8, 10)] [7,2]
5 [(5, 6)] [1]
6 [(0, 1)] [1]
我目前正在使用此代码:
dt['C2] = dt['C1'].apply(list(map(lambda x: x[1]-x[0])))
它给出了以下错误:
map() must have at least two arguments
由于我使用的是apply方法,我希望map的第二个参数会自动从apply获取,为什么没有发生?
【问题讨论】: