[解決済み] pandasのデータフレームを複数のカラムでフィルタリングする方法
2022-05-04 02:40:47
質問
データフレーム(df)を1列でフィルタリングする場合、男性と女性のデータを考える場合、以下のようになります。
males = df[df[Gender]=='Male']
質問1 - しかし、データが複数の年にまたがっていて、2014年の男性だけを見たい場合はどうすればいいのでしょうか?
他の言語では、次のようなことをするかもしれません。
if A = "Male" and if B = "2014" then
(ただし、こうして新しいデータフレームオブジェクトで元のデータフレームのサブセットを取得したい)
質問2.これをループで行い、年と性別のユニークなセットごとにdataframeオブジェクトを作成するにはどうしたらよいでしょうか(つまり、df for: 2013-男性、2013-女性、2014-男性、2014-女性。
for y in year:
for g in gender:
df = .....
解決方法は?
使用方法
&
演算子を使用する場合は、サブステートメントを
()
:
males = df[(df[Gender]=='Male') & (df[Year]==2014)]
データフレームを格納するために
dict
をforループで使用します。
from collections import defaultdict
dic={}
for g in ['male', 'female']:
dic[g]=defaultdict(dict)
for y in [2013, 2014]:
dic[g][y]=df[(df[Gender]==g) & (df[Year]==y)] #store the DataFrames to a dict of dict
EDIT
のデモです。
getDF
:
def getDF(dic, gender, year):
return dic[gender][year]
print genDF(dic, 'male', 2014)
関連
-
PythonによるLeNetネットワークモデルの学習と予測
-
Pythonの@decoratorsについてまとめてみました。
-
Python 入出力と高次代入の基礎知識
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] ファイルへの追記はどのように行うのですか?
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
pythonを使ったオフィス自動化コード例
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】Pandasでブールインデックスのための論理演算子
-
[解決済み】pandasでDataFrameのdoes-not-containを検索する。