Pandsシリーズ-DataFrameとSeriesデータ構造
11837 ワード
import pandas as pd
import numpy as np
1.SeriesSeriesは1次元配列に似たオブジェクトで、データのセット(異なるデータタイプ)と関連するデータラベルのセット(すなわちインデックス)から構成されています.
1.1データリストだけで最も簡単なSeriesが生成されます.
s1 = pd.Series([1,'a',5.2,7])
# ,
s1
0 1
1 a
2 5.2
3 7
dtype: object
#
s1.index
RangeIndex(start=0, stop=4, step=1)
#
s1.values
array([1, 'a', 5.2, 7], dtype=object)
1.2タグインデックスを持つSeriesを作成します.s2 = pd.Series([1, 'a', 5.2, 7], index=['d','b','a','c'])
s2
d 1
b a
a 5.2
c 7
dtype: object
s2.index
Index(['d', 'b', 'a', 'c'], dtype='object')
1.3 Python辞書を使ってSeriesを作成するsdata={'Ohio':35000,'Texas':72000,'Oregon':16000,'Utah':5000}
s3=pd.Series(sdata)
s3
Ohio 35000
Texas 72000
Oregon 16000
Utah 5000
dtype: int64
1.4ラベル索引に従ってデータを照会するPythonに似た辞書dict
s2
d 1
b a
a 5.2
c 7
dtype: object
s2['a']
5.2
type(s2['a'])
float
s2[['b','a']]
b a
a 5.2
dtype: object
type(s2[['b','a']])
pandas.core.series.Series
2.Data FrameDataFrameはテーブル型のデータ構造です.
dataframeを作成する最も一般的な方法は、02節を参照して、テキストファイル、excel、mysqlデータベースを読み取ります.
2.1複数の辞書シーケンスに基づいてdataframeを作成する
data={
'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002],
'pop':[1.5,1.7,3.6,2.4,2.9]
}
df = pd.DataFrame(data)
df
stateyear
ポップ
0
Ohio
2000
1.5
1
Ohio
2001
1.7
2
Ohio
2002
3.6
3
Nevada
2001
2.4
4
Nevada
2002
2.9
df.dtypes
state object
year int64
pop float64
dtype: object
df.columns
Index(['state', 'year', 'pop'], dtype='object')
df.index
RangeIndex(start=0, stop=5, step=1)
3.Data FrameからSeriesを検索するdf
stateyear
ポップ
0
Ohio
2000
1.5
1
Ohio
2001
1.7
2
Ohio
2002
3.6
3
Nevada
2001
2.4
4
Nevada
2002
2.9
3.1一列を調べたら、結果はpd.Seriesです.
df['year']
0 2000
1 2001
2 2002
3 2001
4 2002
Name: year, dtype: int64
type(df['year'])
pandas.core.series.Series
3.2複数の列を検索し、結果はpd.DataFrameです.df[['year', 'pop']]
yearポップ
0
2000
1.5
1
2001
1.7
2
2002
3.6
3
2001
2.4
4
2002
2.9
type(df[['year', 'pop']])
pandas.core.frame.DataFrame
3.3行を調べたら、結果はpd.Seriesです.df.loc[1]
state Ohio
year 2001
pop 1.7
Name: 1, dtype: object
type(df.loc[1])
pandas.core.series.Series
3.4複数行を検索した結果、pd.DataFrameです.df.loc[1:3]
stateyear
ポップ
1
Ohio
2001
1.7
2
Ohio
2002
3.6
3
Nevada
2001
2.4
type(df.loc[1:3])
pandas.core.frame.DataFrame
ここのコードアドレス:https://github.com/peiss/ant-learn-pandas