相关疑难解决方法(0)

在pandas groupby中对列表中的行进行分组

我有一个像熊猫一样的数据框:

a b
A 1
A 2
B 5
B 5
B 4
C 6
Run Code Online (Sandbox Code Playgroud)

我希望按第一列分组,并将第二列作为行中的列表:

A [1,2]
B [5,5,4]
C [6]
Run Code Online (Sandbox Code Playgroud)

使用pandas groupby可以做这样的事吗?

python pandas pandas-groupby

222
推荐指数
11
解决办法
15万
查看次数

GroupBy pandas DataFrame并选择最常见的值

我有一个包含三个字符串列的数据框.我知道第3列中唯一的一个值对前两个的每个组合都有效.要清理数据,我必须按数据框前两列进行分组,并为每个组合选择第三列的最常见值.

我的代码:

import pandas as pd
from scipy import stats

source = pd.DataFrame({'Country' : ['USA', 'USA', 'Russia','USA'], 
                  'City' : ['New-York', 'New-York', 'Sankt-Petersburg', 'New-York'],
                  'Short name' : ['NY','New','Spb','NY']})

print source.groupby(['Country','City']).agg(lambda x: stats.mode(x['Short name'])[0])
Run Code Online (Sandbox Code Playgroud)

最后一行代码不起作用,它说"键错误'短名称'",如果我尝试仅按城市分组,那么我得到一个AssertionError.我该怎么办呢?

python group-by mode pandas pandas-groupby

66
推荐指数
8
解决办法
6万
查看次数

Python pandas groupby对象apply方法重复第一组

我的第一个问题:我对pandas(0.12.0-4)中groupby的apply方法的这种行为感到困惑,它似乎将函数TWICE应用于数据帧的第一行.例如:

>>> from pandas import Series, DataFrame
>>> import pandas as pd
>>> df = pd.DataFrame({'class': ['A', 'B', 'C'], 'count':[1,0,2]})
>>> print(df)
   class  count  
0     A      1  
1     B      0    
2     C      2
Run Code Online (Sandbox Code Playgroud)

我首先检查groupby函数是否正常,看起来没问题:

>>> for group in df.groupby('class', group_keys = True):
>>>     print(group)
('A',   class  count
0     A      1)
('B',   class  count
1     B      0)
('C',   class  count
2     C      2)
Run Code Online (Sandbox Code Playgroud)

然后我尝试在groupby对象上使用apply做类似的事情,我得到第一行输出两次:

>>> def checkit(group):
>>>     print(group)
>>> df.groupby('class', group_keys = True).apply(checkit)
  class  count
0     A      1
  class  count …
Run Code Online (Sandbox Code Playgroud)

python group-by pandas pandas-groupby

37
推荐指数
2
解决办法
8021
查看次数

pandas如何创建简单的交叉表而不进行聚合?

我有一个包含 3 列的 pandas 表:parent_male、parent_female、offsprings - 所有字符串。我想创建一个简单的稀疏交叉表,将男性与女性以及后代作为值 - 我如何编写一个 aggfunc 来执行此操作。(不需要真正的聚合) - 只需在空格中放置一个空字符串。

python crosstab aggregate-functions pandas

2
推荐指数
1
解决办法
8462
查看次数