posted_at(datetime)列の値が過去200日以内で、owner列の値が指定した値であるように、pandasデータフレームをフィルタリングする必要があります。このクエリの結果として別のデータフレームが必要です。これを達成する方法は?datetime値に基づいてデータベースをフィルタリングする
-1
A
答えて
0
あなたはTimedelta
によってdate
substractでboolean indexing
を使用することができます。
start = pd.to_datetime('2016-11-23 15:00:10')
rng = pd.date_range(start, periods=10)
df = pd.DataFrame({'posted_at': rng, 'owner': ['a'] * 5 + ['b'] * 5})
print (df)
owner posted_at
0 a 2016-11-23 15:00:10
1 a 2016-11-24 15:00:10
2 a 2016-11-25 15:00:10
3 a 2016-11-26 15:00:10
4 a 2016-11-27 15:00:10
5 b 2016-11-28 15:00:10
6 b 2016-11-29 15:00:10
7 b 2016-11-30 15:00:10
8 b 2016-12-01 15:00:10
9 b 2016-12-02 15:00:10
now = pd.datetime.now().date()
print (now)
2016-11-29
#in real data change 5 to 200
last5 = now - pd.Timedelta('5D')
#another solution
#last5 = now - pd.offsets.Day(5)
print (last5)
2016-11-24
mask = (df.owner == 'a') & (df.posted_at > last5) & (df.posted_at < now)
print (mask)
0 False
1 True
2 True
3 True
4 True
5 False
6 False
7 False
8 False
9 False
dtype: bool
print (df[mask])
owner posted_at
1 a 2016-11-24 15:00:10
2 a 2016-11-25 15:00:10
3 a 2016-11-26 15:00:10
4 a 2016-11-27 15:00:10
+0
ありがとうございます。私はこの方向でのみ働いていた。これはまさに私が探していたものでした。受け入れていただきありがとうございます。 –
+0
小規模なアドバイス - [良い再現性のあるパンダの例を作る方法](http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples) - ダウンボートを取得せず、多くの素敵な回答を得る。いい日! – jezrael
関連する問題
- 1. Rデータフレームの値に基づいてフィルタリング
- 2. 曜日に基づいてデータベースのデータをフィルタリングする方法
- 3. C#DateTimeの値とIDに基づいてデータベースから予定を取得
- 4. 変数のグループの値に基づいてdata.tableをフィルタリングする
- 5. ドロップダウンメニューの値に基づいてデータをフィルタリングする方法は?
- 6. 配列の値に基づいてJSONデータをフィルタリングする
- 7. Java - 複数の値に基づいてリストをフィルタリングする
- 8. 最大値に基づいてフィルタリングするSQLクエリ
- 9. 前のフィルタリングに基づいてフィルタリングする方法
- 10. 複数の値に基づいて配列をフィルタリングし
- 11. テキストボックスの値に基づいてリストボックスの値をフィルタリングする方法
- 12. 列の値に基づく行のフィルタリング
- 13. 値に基づくオブジェクトの取得/フィルタリング
- 14. スパークデータフレームのキー値に基づくフィルタリング
- 15. Oracle - 列値に基づくフィルタリング
- 16. データベースをフィルタリングしてサブストリングに基づいたアンドロイドになります
- 17. DateTimeの時間に基づいて平均値を取得するSQL
- 18. jquery datetimeピッカーの値に基づいてアラートを表示する方法は?
- 19. SQLを使用してDateTime値に基づく比例配分
- 20. datetimeフィールドに基づいてフィールドを更新するMYSQLトリガー
- 21. 最も近い日付に基づいて行をフィルタリングする
- 22. チェックボックスの入力に基づいて深いオブジェクトをフィルタリングする
- 23. 角度ドロップダウンマルチセレクションの値に基づいてng-repeatのデータをフィルタリングする方法
- 24. さまざまなプロパティタイプと値に基づいて配列をフィルタリングする
- 25. ネストされた文字列の値に基づいてJSONをフィルタリングする
- 26. サブクエリの特定の値に基づいてレコードをフィルタリングする方法は?
- 27. Libreofficeの特定の値に基づいて列をフィルタリングする方法は?
- 28. 配列の値に基づいて配列の配列をフィルタリングする方法
- 29. 1つの単一の値に基づいてリモートテーブルをフィルタリングする方法は?
- 30. インデックスに基づいてシーケンスの要素をフィルタリングするには
こんにちは、StackOverflowのへの歓迎。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。 – secelite