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. 曜日に基づいてデータベースのデータをフィルタリングする方法
- 2. C#DateTimeの値とIDに基づいてデータベースから予定を取得
- 3. ドロップダウンメニューの値に基づいてデータをフィルタリングする方法は?
- 4. 最大値に基づいてフィルタリングするSQLクエリ
- 5. 複数の値に基づいて配列をフィルタリングし
- 6. スパークデータフレームのキー値に基づくフィルタリング
- 7. 値に基づくオブジェクトの取得/フィルタリング
- 8. データベースをフィルタリングしてサブストリングに基づいたアンドロイドになります
- 9. DateTimeの時間に基づいて平均値を取得するSQL
- 10. jquery datetimeピッカーの値に基づいてアラートを表示する方法は?
- 11. SQLを使用してDateTime値に基づく比例配分
- 12. チェックボックスの入力に基づいて深いオブジェクトをフィルタリングする
- 13. 最も近い日付に基づいて行をフィルタリングする
- 14. 1つの単一の値に基づいてリモートテーブルをフィルタリングする方法は?
- 15. サブクエリの特定の値に基づいてレコードをフィルタリングする方法は?
- 16. 角度ドロップダウンマルチセレクションの値に基づいてng-repeatのデータをフィルタリングする方法
- 17. さまざまなプロパティタイプと値に基づいて配列をフィルタリングする
- 18. ネストされた文字列の値に基づいてJSONをフィルタリングする
- 19. インデックスに基づいてシーケンスの要素をフィルタリングするには
- 20. 列の値に基づいて結果をフィルタリングしてください
- 21. DataTablesの列をフィルタリングする属性値に基づくボタン
- 22. オフセットに基づいてdatetime文字列をdatetimeに変換します
- 23. 列内の値に基づいて異なる条件によるSQLフィルタリング
- 24. MySQL:リレーションシップテーブルに基づいてローをフィルタリングする
- 25. 行内のデータに基づいてデータグリッドをフィルタリングするFlex
- 26. 任意の数のオプションに基づいてコレクションをフィルタリングする
- 27. MTMフィールドに基づいてdjangoクエリーセットをフィルタリングする
- 28. odooのグループに基づいてmany2oneフィールドをフィルタリングする方法
- 29. $ queryに基づいてリストをフィルタリングする方法は?
- 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