熊猫:选择平衡样本

时间:2016-07-06 10:17:17

标签: python python-2.7 pandas

我有一个数据框架,有3000家公司,为期五年。

Id     Company          Year       Value
0      1111111          2016         NaN
1      1111111          2015      3871.0
2      3333333          2016      3989.0
3      3333333          2015      3648.0
4      4444444          2016      5456.0
5      4444444          2015         NaN
6      2222222          2016         NaN
7      2222222          2015        10.0
8      5555555          2016      1515.0
9      5555555          2015      2654.0

我喜欢做出选择,确保所有公司都没有NaN值。因此,选择中的所有期间都有数据,因此每个期间的公司数量相同。

最简单的方法是什么?

结果应为:

Id     Company          Year       Value
2      3333333          2016      3989.0
3      3333333          2015      3648.0
7      5555555          2016      1515.0
8      5555555          2015      2654.0

由于

1 个答案:

答案 0 :(得分:1)

groupby.count()返回非空值的数量,因此如果您对公司进行分组,则计数应等于年数。假设没有重复项,您可以这样做:

df.ix[df.groupby('Company')['Value'].transform('count') > 1, :]
Out[259]: 
   Id  Company  Year   Value
2   2  3333333  2016  3989.0
3   3  3333333  2015  3648.0
8   8  5555555  2016  1515.0
9   9  5555555  2015  2654.0