我还在学习使用numpy和熊猫
我有以下数据帧:
df = pd.DataFrame({'arrival_time':[1,1,1,3,3,5,2,4,6,2],'id_col':[4,10,5,1,7,8,2,3,6,9],'col1':[1,7,4,6,8,6,89,9,10,30],'col2':['a','r','d','t','d','k','e','a','r','d']})
到达时间:物品到达的时间(多个物品可以同时到达)
id\u col:项目的唯一id。id分配与到达时间无关
col1、col2:数据帧中的其他列
df:
{1: arrival_time id_col col1 col2
0 1 4 1 a
1 1 10 7 r
2 1 5 4 d,
2: arrival_time id_col col1 col2
6 2 2 89 e
9 2 9 30 d,
3: arrival_time id_col col1 col2
3 3 1 6 t
4 3 7 8 d,
4: arrival_time id_col col1 col2
7 4 3 9 a,
5: arrival_time id_col col1 col2
5 5 8 6 k,
6: arrival_time id_col col1 col2
8 6 6 10 r}
现在我使用这段代码来获取到达时间df,也就是说,df行具有相同的到达时间
time_unique = df.arrival_time.unique()
arrival_dict = dict()
for t in time_unique :
arrival_dict[t] = df[df.arrival_time == t]
是否可以使用pandas.apply()或.map()函数来改进这一点
预期的字典如下所示:
{1: arrival_time id_col col1 col2
0 1 1 1 a
1 1 2 7 r
2 1 3 4 d,
3: arrival_time id_col col1 col2
3 3 4 6 t
4 3 5 8 d,
5: arrival_time id_col col1 col2
5 5 6 6 k,
2: arrival_time id_col col1 col2
6 2 7 89 e
9 2 10 30 d,
4: arrival_time id_col col1 col2
7 4 8 9 a,
6: arrival_time id_col col1 col2
8 6 9 10 r}
提前谢谢
如@anky在评论中提到的:
输出:
与^{的比较 :
看起来熊猫的解决方案更快
相关问题 更多 >
编程相关推荐