ホームページ >バックエンド開発 >Python チュートリアル >パンダのチートシート
Pandas は、Python 上に構築されたオープンソースのデータ操作および分析ライブラリです。 DataFrame や Series などの使いやすいデータ構造を提供し、あらゆる種類のデータ分析タスクのデータ処理を容易にします。データ サイエンス ワークフローの重要なステップである構造化データの処理、データ クリーニング、準備に広く使用されています。時系列データ、異種データ、CSV、Excel、SQL データベース、JSON 形式のデータのいずれであっても、Pandas はこのデータの操作をより簡単にする強力なツールを提供します。
Pandas の機能を使用する前に、ライブラリをインポートする必要があります。構文を簡潔に保つために、通常は pd としてインポートされます。
import pandas as pd
シリーズは、任意のデータ型 (整数、文字列、浮動小数点など) を保持できる 1 次元のラベル付き配列です。リスト、NumPy 配列、または辞書から作成できます。
# Create a Pandas Series from a list s = pd.Series([1, 2, 3, 4])
期待される出力:
0 1 1 2 2 3 3 4 dtype: int64
DataFrame は、データベースや Excel スプレッドシートのテーブルに似た、2 次元のラベル付きデータ構造です。行と列で構成されます。各列には異なるデータ型を指定できます。
# Create a DataFrame from a dictionary data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [24, 27, 22], 'City': ['New York', 'London', 'Berlin']} df = pd.DataFrame(data)
期待される出力:
Name Age City 0 Alice 24 New York 1 Bob 27 London 2 Charlie 22 Berlin
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]} df = pd.DataFrame(data)
data = [[1, 2, 3], [4, 5, 6]] df = pd.DataFrame(data, columns=["A", "B", "C"])
期待される出力:
A B C 0 1 2 3 1 4 5 6
Pandas は、データを検査して情報を取得するためのいくつかの方法を提供します。
# Inspecting the DataFrame print(df.head()) print(df.tail()) print(df.info()) print(df.describe())
期待される出力:
A B C 0 1 2 3 1 4 5 6 A B C 0 1 2 3 1 4 5 6 <class 'pandas.core.frame.DataFrame'> RangeIndex: 2 entries, 0 to 1 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 A 2 non-null int64 1 B 2 non-null int64 2 C 2 non-null int64 dtypes: int64(3) memory usage: 128.0 bytes A B C count 2.0 2.0 2.0 mean 2.5 3.5 4.5 std 2.1 2.1 2.1 min 1.0 2.0 3.0 25% 1.5 2.5 3.5 50% 2.0 3.0 4.0 75% 2.5 3.5 4.5 max 4.0 5.0 6.0
ドット表記を使用するか、角かっこでインデックスを付けることによって列にアクセスできます。
# Dot notation print(df.A) # Bracket notation print(df["B"])
整数位置ベースのインデックス作成には .iloc[] を使用でき、ラベルベースのインデックス作成には .loc[] を使用できます。
# Using iloc (index-based) print(df.iloc[0]) # Access first row # Using loc (label-based) print(df.loc[0]) # Access first row using label
DataFrame をスライスしてデータのサブセットを取得できます。行または列をスライスできます。
# Select specific rows and columns subset = df.loc[0:1, ["A", "C"]]
期待される出力:
A C 0 1 3 1 4 6
値を割り当てることで、DataFrame に列を直接追加できます。
df['D'] = [7, 8] # Adding a new column
列にアクセスして新しい値を割り当てることで、列の値を変更できます。
df['A'] = df['A'] * 2 # Modify the 'A' column
drop() 関数を使用して行または列を削除できます。
df = df.drop(columns=['D']) # Dropping a column df = df.drop(index=1) # Dropping a row by index
欠落データの処理は重要なタスクです。 Pandas は、欠落データを処理するためのいくつかの関数を提供します。
df = df.fillna(0) # Fill missing data with 0 df = df.dropna() # Drop rows with any missing values
groupby() 関数は、データをグループに分割し、関数を適用して、結果を結合するために使用されます。
# Grouping by a column and calculating the sum grouped = df.groupby('City').sum()
sum()、mean()、min()、max() などのさまざまな集計関数を適用できます。
# Aggregating data using mean df.groupby('City').mean()
sort_values() 関数を使用すると、1 つ以上の列で DataFrame を並べ替えることができます。
# Sorting by a column in ascending order df_sorted = df.sort_values(by='Age') # Sorting by multiple columns df_sorted = df.sort_values(by=['Age', 'Name'], ascending=[True, False])
rank() を使用して、DataFrame 内の値をランク付けできます。
df['Rank'] = df['Age'].rank()
共通の列またはインデックスに基づいて 2 つの DataFrame を結合できます。
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2']}) df2 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'C': ['C0', 'C1', 'C2']}) merged_df = pd.merge(df1, df2, on='A')
You can concatenate DataFrames along rows or columns using concat().
df1 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B']) df2 = pd.DataFrame([[5, 6], [7, 8]], columns=['A', 'B']) concat_df = pd.concat([df1, df2], axis=0)
Pandas is a versatile tool for data manipulation, from importing and cleaning data to performing complex operations. This cheat sheet provides a quick overview of some of the most common Pandas features, helping you make your data analysis workflow more efficient.
以上がパンダのチートシートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。