【第3章 Python機械学習入門:シリーズやDataFrameの作成、インデックス作成、スライス、データクリーニング、データ分析など】


第 1 章 Python 機械学習を始めるための Pandas ライブラリの使用

第 2 章 Python 機械学習を始めるための NumPy ライブラリの使用

第 3 章 Python 機械学習シリーズとデータフレームの作成、インデックス作成、スライス、データ クリーニング、データ分析などの概要

第 4 章 Python 機械学習を始めるためのデータ視覚化
第 5 章 Python 機械学習を始めるための機械学習アルゴリズム
第 6 章 Python 機械学習を始めるための実践的なプロジェクト
ここに画像の説明を挿入

1.シリーズの作成

1. シリーズの作成

シリーズは、次の方法で作成できる 1 次元配列です。

リストからシリーズを作成

pd.Series() 関数を使用して Series オブジェクトを作成し、index パラメーターを指定してインデックスをカスタマイズし、dtype パラメーターを指定してデータ型を指定します。例えば:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'], dtype=float)
print(s)

出力結果:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

Python 組み込み関数 list() を使用して他のデータ型をリストに変換したり、Python 組み込み関数 range() を使用して特定の範囲内の整数のシーケンスを生成したり、NumPy ライブラリの関数を使用して特定の範囲内の乱数のシーケンスを取得し、Python 組み込み関数 zip() を使用して、複数のリストをタプルのリストに結合します。

辞書からシリーズを作成する

pd.Series() 関数を使用して Series オブジェクトを作成します。辞書のキーは Series のインデックスとして使用され、辞書の値は Series のデータとして使用されます。dtype を指定できます。データ型を指定するパラメータ。例えば:

d = {
    
    'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s = pd.Series(d, dtype=float)
print(s)

出力結果:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

次に、DataFrame の作成

DataFrame は 2 次元のテーブルであり、以下の方法で作成できます。
WX サーチ公式アカウント:リソース課金バー
0R スキャンコード 注意

因为我在学习过程中经常要找资料,而且很多要付费,所以干了个免费的资源分享平台。不要想太多,真的无偿,关注回复想要的资料即可

2023年に人気のIT学習教材、各種プラットフォームの各種チュートリアル、ソースコードを無料で共有
ここに画像の説明を挿入

リストからデータフレームを作成

pd.DataFrame() 関数を使用して DataFrame オブジェクトを作成します。columns パラメーターを指定して列名をカスタマイズし、index パラメーターを指定してインデックスをカスタマイズできます。例えば:

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

出力結果:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

他のデータ型は、Python 組み込み関数 list() を使用してリストに変換でき、Python 組み込み関数 zip() を使用して複数のリストをタプルのリストに結合できます。

辞書からDataFrameを作成

pd.DataFrame() 関数を使用して DataFrame オブジェクトを作成します。ディクショナリのキーは DataFrame の列名として使用され、ディクショナリの値は DataFrame のデータとして使用されます。 columns パラメータを指定して列名をカスタマイズし、index パラメータを指定してインデックスをカスタマイズします。例えば:

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame.from_dict(data, orient='columns', columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

出力結果:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

3. インデックス付けとスライス

シリーズのインデックス作成とスライス

インデックス作成には [] 演算子を、ラベル インデックス作成には .loc[] メソッドを、位置インデックス作成には .iloc[] メソッドを、スライス操作にはスライス操作を、フィルター操作にはブール インデックスを使用します。例えば:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd',

出力結果

1.0 1.0 1.0 b 2.0 c 3.0 d 4.0 e 5.0 dtype: float64

d 4.0 e 5.0 dtype: float64

DataFrame のインデックス作成とスライス

インデックス作成には [] 演算子を、ラベル インデックス作成には .loc[] メソッドを、位置インデックス作成には .iloc[] メソッドを、スライス操作にはスライス操作を、フィルター操作にはブール インデックスを使用します。例えば

import pandas as pd

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])

#索引
print(df['name'])

#标签索引
print(df.loc['a'])

#位置索引
print(df.iloc[0])

#切片
print(df[1:3])

#筛选
print(df[df['age'] > 30])
输出结果:

```csharp
a       Alice
b         Bob
c     Charlie
d       David
Name: name, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

       name  age gender
b       Bob   30      M
c   Charlie   35      M

       name  age gender
c   Charlie   35      M
d     David   40      M

4. データクリーニング

重複した行を削除する

DataFrame 内の重複行を削除するには、.drop_duplicates() メソッドを使用します。例えば:

import pandas as pd

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'], 'age': [25, 30, 35, 40, 30], 'gender': ['F', 'M', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 删除重复行
df = df.drop_duplicates()
print(df)

出力結果:

      name  age gender
0    Alice   25      F
1      Bob   30      M
2  Charlie   35      M
3    David   40

5. 空の値を置換する

.fillna() メソッドを使用して、DataFrame 内の空の値を指定した値に置き換えます。例えば

import pandas as pd

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, None, 35, 40], 'gender': ['F', 'M', 'M', None]}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 替换空值
df = df.fillna({
    
    'age': 30, 'gender': 'M'})
print(df)

出力結果:

       name   age gender
0     Alice  25.0      F
1       Bob  30.0      M
2   Charlie  35.0      M
3     David  40.0      M

6. データ型変換

ここに画像の説明を挿入

Pandas では、Series と DataFrame のデータ型変換に astype() メソッドを使用できます。astype() メソッドは、Series または DataFrame のデータ型を指定されたデータ型に変換できます。以下にサンプルコードを示します。

import pandas as pd

# 创建一个Series
s = pd.Series(['1', '2', '3'])
print(s)

# 将Series中的数据类型转换为整型
s = s.astype(int)
print(s)

# 创建一个DataFrame
df = pd.DataFrame({
    
    'A': ['1', '2', '3'], 'B': ['4', '5', '6']})
print(df)

# 将DataFrame中的数据类型转换为整型
df = df.astype(int)
print(df)

出力結果:

0    1
1    2
2    3
dtype: object
0    1
1    2
2    3
dtype: int64
  A  B
0  1  4
1  2  5
2  3  6
  A  B
0  1  4
1  2  5
2  3  6

7. データ分析

ここに画像の説明を挿入

Pandas では、Series と DataFrame のデータ分析に、記述統計、並べ替え、フィルタリング、グループ化、集計、その他の操作を含むさまざまな方法を使用できます。以下にサンプルコードを示します。

import pandas as pd

# 创建一个Series
s = pd.Series([1, 2, 3, 4, 5])

# 描述性统计
print(s.describe())

# 排序
print(s.sort_values(ascending=False))

# 筛选
print(s[s > 3])

# 创建一个DataFrame
df = pd.DataFrame({
    
    'A': [1, 2, 3, 4,{
    
    'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})\n\n# 分组\ngrouped = df.groupby('A')\n\n# 聚合\nprint(grouped.aggregate(['sum', 'mean', 'max']))\n```\n\n输出结果:\n\n```\ncount    5.000000\nmean     3.000000\nstd      1.581139\nmin      1.000000\n25%      2.000000\n50%      3.000000\n75%      4.000000\nmax      5.000000\ndtype: float64\n4    5\n3    4\n2    3\n1    2\n0    1\ndtype: int64\n3    4\n4    5\ndtype: int64\n  B           
  sum mean max
A              
1  6.0  6.0   6
2  7.0  7.0   7
3  8.0  8.0   8
4  9.0  9.0   9
5  10.0 10.0  10

8. まとめ

Python 機械学習の概要では、Pandas ライブラリの Series と DataFrame の作成、インデックス付け、スライス、データ クリーニング、データ分析、その他の操作を学びました。この研究の概要は次のとおりです。

シリーズは、リスト、辞書、配列などを通じて作成できる 1 次元配列です。シリーズはインデックスを介してアクセスおよび変更でき、スライス操作をサポートします。

DataFrame は、リスト、辞書、配列などによって作成できる 2 次元のテーブルです。DataFrame は列名と行インデックスによってアクセスおよび変更でき、スライス操作をサポートします。

データ クリーニングはデータ分析の前作業であり、欠損値、繰り返し値、外れ値などの問題への対処が含まれます。Pandas は、dropna()、fillna()、drop_duplicates()、replace() など、データ クリーニングのためのさまざまなメソッドを提供します。

データ分析はデータマイニングの中核となる作業で、記述統計、並べ替え、フィルタリング、グループ化、集計、その他の操作が含まれます。Pandas は、describe()、sort_values()、groupby()、aggregate() など、データ分析のためのさまざまなメソッドを提供します。

データの視覚化はデータ分析の重要な手段であり、データの分布や傾向などの情報をグラフで表示できます。Pandas は、plot()、hist()、scatter() など、さまざまなチャート タイプの視覚化メソッドを提供します。

つまり、Pandas は Python 機械学習には欠かせないツールの 1 つであり、Pandas を使いこなすことはデータ分析やマイニングにとって非常に重要です。

おすすめ

転載: blog.csdn.net/CDB3399/article/details/130672027