【发布时间】:2015-05-11 08:11:29
【问题描述】:
我有一个这样的数据框
df = pd.DataFrame(columns = ['A', 'B'])
df.A = [1,1,1,2,2,2,2,4,4,5]
df.B = [5,2,4,3,1,5,4,1,2,2]
我目前正在使用什么
d = {}
for i in df.A:
d[i] = []
for v in df.A[df.A == i].index:
d[i].append(df.B[v])
导致
{1: [5, 2, 4], 2: [3, 1, 5, 4], 4: [1, 2], 5: [2]}
但它很慢。
什么是pythonic方式?
编辑:
d = {}
for i in df.A.unique():
d[i] = df[df.A == i].B.tolist()
似乎仍然必须有更快的方法
感谢您的帮助!
【问题讨论】:
标签: python list dictionary