私は各行の新聞記事のメタデータを持つDataFrameを持っています。私はその後、(type
と呼ばれる)1列の値をカウントし、毎月のチャンクにグループこれらをしたいと思います:パンダグループでvalue_countsを使用しているときに、空のシリーズを無視するにはどうすればよいですか?
monthly_articles = articles.groupby(pd.Grouper(freq="M"))
monthly_articles = monthly_articles["type"].value_counts().unstack()
これは毎年恒例のグループと正常に動作しますが、私は月ごとにグループにしようとすると失敗します。
ValueError: operands could not be broadcast together with shape (141,) (139,)
これは記事がない月のグループがいくつかあるためだと思います。私は、各グループにグループや印刷value_countsを繰り返す場合:value_counts()
を使用しているとき、私は空のグループを無視することができますどのように
2005-12-31 00:00:00 positive 1
Name: type, dtype: int64
2006-01-31 00:00:00 Series([], Name: type, dtype: int64)
2006-02-28 00:00:00 Series([], Name: type, dtype: int64)
2006-03-31 00:00:00 negative 6
positive 5
neutral 1
Name: type, dtype: int64
2006-04-30 00:00:00 negative 11
positive 6
neutral 3
Name: type, dtype: int64
:
for name, group in monthly_articles:
print(name, group["type"].value_counts())
私は2006年の月と2月のためのグループ内の空のシリーズを取得します?
私はdropna=False
を試してみましたが、成功しませんでした。私はこれがthis questionと同じ問題だと思います。
これは完璧に動作します。ありがとうございます。 – user2950747