相关疑难解决方法(0)

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万
查看次数

从Pandas数据框中删除重复的行,其中只有一些列具有相同的值

我有一个pandas数据帧如下:

A   B   C
1   2   x
1   2   y
3   4   z
3   5   x
Run Code Online (Sandbox Code Playgroud)

我希望在特定列中只有一行共享相同值的行.在上面的例子中,我指的是A列和B列.换句话说,如果列AB的值在数据帧中出现不止一次,则只应保留一行(哪一行无关紧要).

FWIW:所谓的重复行的最大数量(即,列AB相同)是2.

结果应该像这样说:

A   B   C
1   2   x
3   4   z
3   5   x
Run Code Online (Sandbox Code Playgroud)

要么

A   B   C
1   2   y
3   4   z
3   5   x
Run Code Online (Sandbox Code Playgroud)

python duplicates dataframe pandas

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

标签 统计

pandas ×2

python ×2

dataframe ×1

duplicates ×1

group-by ×1

mode ×1

pandas-groupby ×1