“ Pandasによるデータ読み込み
あらゆるデータ分析タスクの最初のステップは、データの読み込みです。Pandasは、`pd.read_csv()`や`pd.read_table()`のような関数でこのプロセスを簡素化します。これらの関数を使用すると、CSVやTSVなどのさまざまなファイル形式からPandas DataFrameにデータを読み込むことができます。相対パスと絶対パスを使用してデータを読み込む方法は次のとおりです。
```python
import pandas as pd
import numpy as np
# 相対パスを使用してデータを読み込む
df = pd.read_csv('./train.csv')
print(df.head())
# 絶対パスを使用してデータを読み込む
df = pd.read_csv(r'D:\Users\LENOVO\Desktop\pandas入門\train.csv')
print(df.head())
```
相対パスで問題が発生した場合は、`os.getcwd()`を使用して現在の作業ディレクトリを確認してください。
“ 異なるデータ区切り文字の理解
`pd.read_csv()`と`pd.read_table()`は、デフォルトの区切り文字が異なります。`read_csv()`はデフォルトでカンマ(`,`)を区切り文字として使用しますが、`read_table()`はタブ(`\t`)を使用します。同じ効果を得るには、`sep`パラメータを指定できます。
```python
# pd.read_csv()を使用してTSVファイルを読み込む
df = pd.read_csv('filename.tsv', sep='\t')
# pd.read_table()を使用してCSVファイルを読み込む
df = pd.read_table('filename.csv', sep=',')
```
これらの違いを理解することは、さまざまなファイル形式からデータを正しく読み込むために不可欠です。
“ チャンクごとのデータ読み込み
大規模なデータセットの場合、ファイル全体を一度にメモリに読み込むのは非効率的になる可能性があります。Pandasは`chunksize`パラメータを使用してチャンクごとの読み込みを提供します。これにより、データを小さなブロックで処理でき、メモリ消費量を削減できます。
```python
# 1000行のチャンクでデータを読み込む
for chunk in pd.read_csv('train.csv', chunksize=1000):
print(chunk.head())
# チャンクに対して操作を実行する
```
チャンクごとの読み込みは、利用可能なメモリを超えるデータセットを扱う場合に特に役立ちます。
“ テーブルヘッダーとインデックスの変更
テーブルヘッダーとインデックスを変更すると、データをより読みやすく理解しやすくなります。特に異なる言語のデータセットを扱う場合、列名をより説明的な名前に変更できます。
```python
# 列名を変更する
df = df.rename(columns={'PassengerId': '乗客ID', 'Survived': '生存', 'Pclass': '客室クラス'})
print(df.head())
# '乗客ID'をインデックスとして設定する
df = df.set_index('乗客ID')
print(df.head())
```
これらの変更により、データへのアクセスと明確さが向上します。
“ データ分析と操作の例
Pandasは、データ分析や操作のための幅広い関数を提供しています。以下にいくつかの例を示します。
* **データのフィルタリング:**
```python
# 生存した乗客をフィルタリングする
survived = df[df['生存'] == 1]
print(survived.head())
```
* **データのグループ化:**
```python
# '客室クラス'でデータをグループ化し、平均年齢を計算する
grouped = df.groupby('客室クラス')['年齢'].mean()
print(grouped)
```
* **欠損値の処理:**
```python
# 平均年齢で欠損している年齢の値を埋める
df['年齢'] = df['年齢'].fillna(df['年齢'].mean())
```
これらの例は、データ分析タスクにおけるPandasの汎用性を示しています。
元のリンク: https://blog.csdn.net/2301_80259885/article/details/140608335
コメント(0)