- 此问题在此处已有答案**:
Split pandas dataframe based on groupby(4个答案)
昨天关门了。
我想创建多个 Dataframe ,并将它们组成一个 Dataframe 列表。我想通过指定veh值将其拆分。例如,从下面的 Dataframe 中,我想获得4个单个 Dataframe :
- ped值1和veh值1
- ped值1和veh值2
- ped值1,车辆值3
- ped值1,车辆值4
| ped值|车辆价值|
| - ------|- ------|
| 1个|1个|
| 1个|1个|
| 1个|第二章|
| 1个|第二章|
| 1个|三个|
| 1个|三个|
| 1个|四个|
| 1个|四个|
所需输出:|ped值|车辆价值||- -------||1个|1个||1个|1个|
| ped值|车辆价值|
| - ------|- ------|
| 1个|第二章|
| 1个|第二章|
| ped值|车辆价值|
| - ------|- ------|
| 1个|三个|
| 1个|三个|
| ped值|车辆价值|
| - ------|- ------|
| 1个|四个|
| 1个|四个|grouped = df.groupby(['ped', 'veh']) ped_veh1 = grouped.get_group(("P1", 1)) print(ped_veh1)
上面的代码是我用来分割 Dataframe 的初始代码。但是,我得到了100个不同的veh值,所以有什么方法可以实现上面的输出吗?
我试过使用for i in range方法:for i in range (1,100): grouped = df.groupby(['ped', 'veh']) ped_veh1 = grouped.get_group(("P1", i)) print(ped_veh1)
但是,代码不起作用,因为值i不连续,例如:i = 1、2、3、5、6、8、9、10、12
当无法找到i = 4时,代码停止运行,并引发错误。
那么,有没有办法或解决方案来解决这个问题呢?
1条答案
按热度按时间ru9i0ody1#
您可以使用拆分Pandas
Dataframe
,先使用groupby()
函数,然后使用get_group