Filter Data
Coddyの「Pandas Analytics」コースのレッスン 9/19。
Pandasでは、特定の条件に基づいて行をフィルタリングできます。行をフィルタリングするには、角括弧の中に条件を記述します:
filtered_df = df[df["number_column"] > 5]
filtered_df = df[df["string_column"] == "String Match"]複数の条件を組み合わせるには、& (and) キーワードと | (or) キーワードを使用します。各条件は括弧 () で囲む必要があります:
filtered_df = df[(df['number_column'] >= 3) & (df['string_column'] == 'String Match')]not キーワードは ~ です (5より大きくない場合):
filtered_df = df[~df["number_column"] > 5]特定の列からすべての空でない値を取得するには:
filtered_df = df[~df["column"].isna()]値が配列内にあるかどうかを確認するには:
filtered_df = df[df['column'].isin(['value1', 'value2', 'value3'])]
チャレンジ
簡単CSVファイル stats.csv には、統計に関する情報が含まれています。
ファイルの最初の5行は以下の通りです:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE次の条件に一致する行のみを取得してください:
SKILL_POINTSが7より大きい。UTILIZATIONが0.7以下、または0.95より大きい。IS_VALIDが 1 に等しい。CATEGORYがJAPE、PLQR、GHUPのいずれかである。
最終的な結果を df 変数に格納してください。
自分で試してみよう
# pandas は pd として既にインポートされています
df = pd.read_csv("./stats.csv")
# 以下にコードを書いてください
Pandas Analyticsのすべてのレッスン
4Data Analysis with Pandas
Descriptive StatisticsGrouping and Aggregating DataDifferent AggregationsMerge & Concat2Working with the DataFrame
Understanding DataFramesAccessing DataData Cleaning - Missing dataData Cleaning - More tools3Data Manipulation with Pandas
Return Requested ResultFilter DataAdd & DeleteModify DataModify StringsCustom Modifications