Python 3 – Pandasデータフレーム-Pythonチュートリアル

単純なデータ構造 pandas.DataFrame この記事で説明されています。 これには、作成、索引付け、追加、および削除に関する関連情報が含まれています。 テキストは非常に詳細です。

つまり、行と列を持つ2次元のデータ構造(テーブルなど)です。

関連コース: Pythonパンダを使用したデータ分析

DataFrameを作成する

パンダDataFrameとは何ですか

Pandasはデータ操作モジュールです。 DataFrameを使用すると、表形式のデータをPythonで保存できます。
DataFrameを使用すると、行や列などの表形式のデータを簡単に保存および操作できます。

データフレームは、リスト(以下を参照)、辞書またはnumpy配列(下を参照)から作成できます。

リストからDataFrameを作成する

1つのリストをパンダのデータフレームに変えることができます。

1
2
3
import pandas as pd
data = [1,2,3]
df = pd.DataFrame(data)

データフレームの内容は次のとおりです。

1
2
3
4
5
6
>>> df
0
0 1
1 2
2 3
>>>

コンテンツの前に、すべての要素にインデックス(0,1,2)があることがわかります。
これはテーブル(n次元配列)でも機能します。

1
2
3
4
import pandas as pd

data = [['Axel',32], ['Alice', 26], ['Alex', 45]]
df = pd.DataFrame(data,columns=['Name','Age'])

この出力:

1
2
3
4
5
6
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45
>>>

関連コース: Pythonパンダを使用したデータ分析

列を選択

列を選択するには、列名を使用できます。

ステップ1:フレームを作成する:

1
2
3
4
5
6
>>> df = pd.DataFrame(data,columns=['Name','Age'])
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45

ステップ2:列名で選択します:

1
2
3
4
5
>>> df['Name']
0 Axel
1 Alice
2 Alex
Name: Name, dtype: object
1
2
3
4
5
6
>>> df['Age']
0 32
1 26
2 45
Name: Age, dtype: int64
>>>

列の追加

データフレームに列を追加できます。 したがって、この:

1
2
3
4
5
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45

これになります:

1
2
3
4
5
6
>>> df
Name Age Example
0 Axel 32 1
1 Alice 26 2
2 Alex 45 3
>>>

これを行う方法は次のとおりです。

ステップ1:データフレームを作成する

1
2
3
4
5
6
7
8
>>> data = [['Axel',32], ['Alice', 26], ['Alex', 45]]
>>> df = pd.DataFrame(data,columns=['Name','Age'])
>>>
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45

ステップ2:列を含む新しいデータフレームを作成する

1
>>> c = pd.DataFrame([1,2,3], columns=['Example'])

手順3:データフレームの列名を新しく作成した列名に設定します。

1
2
3
4
5
6
7
>>> df['Example'] = c['Example']
>>> df
Name Age Example
0 Axel 32 1
1 Alice 26 2
2 Alex 45 3
>>>

列の削除

列を削除するには、キーワードを使用できます デル
元のデータフレーム:

1
2
3
4
5
>>> df
Name Age Example
0 Axel 32 1
1 Alice 26 2
2 Alex 45 3

次にそれを削除します:

そして、その列を削除します。

1
2
3
4
5
6
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45
>>>

関連コース: Pythonパンダを使用したデータ分析

行を選択

を使用して行を選択できます .loc[label]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45
>>>
>>> df.loc[0]
Name Axel
Age 32
Name: 0, dtype: object
>>>
>>> df.loc[2]
Name Alex
Age 45
Name: 2, dtype: object
>>>

インデックスで選択することもできますが、 .iloc[index]

1
2
3
4
5
>>> df.iloc[0]
Name Axel
Age 32
Name: 0, dtype: object
>>>

行を追加

を呼び出すことで行を追加できます .append() データフレームのメソッド。
まず、新しいデータフレームを作成します。

1
>>> user = pd.DataFrame([['Vivian',33]], columns= ['Name','Age'])

次に、それを既存のデータフレームに追加します。

1
>>> df = df.append(user)
1
2
3
4
5
6
7
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45
0 Vivian 33
>>>

行を削除する

行を削除するには、次の方法を使用できます .drop(インデックス)

フレームを作成することから始めます。

1
2
3
4
5
6
7
>>> data = [['Axel',32], ['Alice', 26], ['Alex', 45]]
>>> df = pd.DataFrame(data,columns=['Name','Age'])
>>> df
Name Age
0 Axel 32
1 Alice 26
2 Alex 45

最初の行を削除しましょう:

1
2
3
4
5
6
>>> df = df.drop(0)
>>> df
Name Age
1 Alice 26
2 Alex 45
>>>

DataFrameの作成

辞書からDataFrameを作成する

辞書がある場合は、それをデータフレームに変換できます。

1
2
3
4
5
6
7
8
9
>>> import pandas as pd
aa>>> d = {'one':[1,2,3], 'two':[2,3,4], 'three':[3,4,5] }
>>> df = pd.DataFrame(d)
>>> df
one two three
0 1 2 3
1 2 3 4
2 3 4 5
>>>

ディクショナリのキーはDataFrameの列ですが、インデックスの値がないため、自分で設定する必要があり、デフォルトではゼロからカウントされません。

1
2
3
4
5
6
7
>>> df = pd.DataFrame(d, index=['first','second','third'])
>>> df
one two three
first 1 2 3
second 2 3 4
third 3 4 5
>>>

配列からDataFrameを作成する

配列(numpy配列)もデータフレームに変換できます。

1
2
3
4
5
6
>>> import numpy as np
>>> ar = np.array([[1,2,3],[4,5,6],[6,7,8]])
>>> ar
array([[1, 2, 3],
[4, 5, 6],
[6, 7, 8]])

次に、次の行を使用してデータフレームに変換します。

1
2
3
4
5
6
7
>>> df = pd.DataFrame(ar)
>>> df
0 1 2
0 1 2 3
1 4 5 6
2 6 7 8
>>>

DataFrame割り当て列とインデックスの作成は、多次元配列から作成されます。それ以外の場合は、デフォルトで醜いです。

1
2
3
4
5
6
7
>>> df = pd.DataFrame(ar, index=['A','B','C'], columns=['One','Two','Three'])
>>> df
One Two Three
A 1 2 3
B 4 5 6
C 6 7 8
>>>

DataFrameから作成

データフレームの一部を新しいデータフレームにコピーできます。
上記のデータフレームの使用:

1
2
3
4
5
6
7
>>> df2 = df[['One','Two']].copy()
>>> df2
One Two
A 1 2
B 4 5
C 6 7
>>>

CSVから作成

csvファイル(Googleスプレッドシートはcsvとして保存できます)がある場合は、次のように読み込むことができます。

1
2
3
4
5
6
7
8

import pandas as pd


cats = pd.read_csv('cats.csv')


print(cats)

Hope this helps!

Source link