python数据框_Python-将数据框拆分为多个数据框

小编典典

首先,你的方法效率低下,因为在没有足够的空间容纳新条目的情况下,由于必须定期增长列表,因此逐行追加到列表的速度很慢,因此列表大小在此方面会更好,因为前面并分配一次。

但是,我认为从根本上讲,你的方法有点浪费,因为你已经有了一个数据框,为什么要为这些用户中的每一个创建一个新的?

我将按列对数据帧进行排序'name',将索引设置为此,如果需要,则不要删除该列。

然后生成所有唯一条目的列表,然后你可以使用这些条目执行查找,并且至关重要的是,如果仅查询数据,请使用选择条件返回数据框上的视图,而不会产生昂贵的数据副本。

所以:

# sort the dataframe

df.sort(columns=['name'], inplace=True)

# set the index to be this and don't drop

df.set_index(keys=['name'], drop=False,inplace=True)

# get a list of names

names=df['name'].unique().tolist()

# now we can perform a lookup on a 'view' of the dataframe

joe = df.loc[df.name=='joe']

# now you can query all 'joes'

编辑

sort现在已弃用,你需要立即使用sort_values:

# sort the dataframe

df.sort_values(by='name', axis=1, inplace=True)

# set the index to be this and don't drop

df.set_index(keys=['name'], drop=False,inplace=True)

# get a list of names

names=df['name'].unique().tolist()

# now we can perform a lookup on a 'view' of the dataframe

joe = df.loc[df.name=='joe']

# now you can query all 'joes'

2020-02-14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值