python基礎---PandasのDataFrameとpandas.core.series.Series
17795 ワード
2つのデータ型の比較
参照先:https://blog.csdn.net/LZH_12345/article/details/79798787まとめ:2つのデータの横属性はindexであり、DataFrameのcolumns属性のみが縦属性を指す
Seriesのデータはindexとindexだけです.name属性、columns属性なし、DataFrameデータにcolumns属性あり
ここで、seriesのデータは辞書のデータのように、インデックスとデータを含む.別の形式のデータは、複数の属性を使用して次のプログラムの表示を通じて、2つのデータの違いを比較することができます.
Seriesタイプのデータ
個人の理解:1次元辞書とリストの結合のように、デフォルトのindexはリストと同じように0から始まるが、異なるのはこのデータ型のインデックスが自分で定義できることであり、例えばa.index=[インデックス1、インデックス2...]seriesのデータに対して:変数名を使用することができる.indexと変数名.valuesデータ内容の表示
seriesオブジェクト自体とindexにnameを追加
DataFrameのデータ型
個人の認識:Seriesとの多次元に相当し、1行のインデックスだけでなく、複数の属性のインデックスを持つことができ、以下のプログラムから見ることができます.しかし主義的にはreindex(データ,index=[])関数は元のデータの内容を変えず,パラメータのデータを関数にコピーして形式を変える.ただし、reindex()のindex[]パラメータにパラメータデータが表示されない場合、新しく生成されたデータの内容はデフォルトで空です.
使用するデータ
2013/10/24
3
0
2013/10/25
4
1
2013/10/26
5
2
2013/10/27
5
3
2013/10/28
5
4
2013/10/29
5
5
参照先:https://blog.csdn.net/LZH_12345/article/details/79798787まとめ:2つのデータの横属性はindexであり、DataFrameのcolumns属性のみが縦属性を指す
Seriesのデータはindexとindexだけです.name属性、columns属性なし、DataFrameデータにcolumns属性あり
ここで、seriesのデータは辞書のデータのように、インデックスとデータを含む.別の形式のデータは、複数の属性を使用して次のプログラムの表示を通じて、2つのデータの違いを比較することができます.
import pandas as pd
def fenge(x):
print("*******%s *******"%x)
data={'names':['Bob','Jane','Jack','Ann'],
'sex':['M','F','M','F'],
'age':[21,30,26,28]}
se = pd.Series(data)
# “names”,"sex".. se index , se.index=[]
af_se = pd.DataFrame(data)
fenge("Series ")
print(se)
'''
names [Bob, Jane, Jack, Ann]
sex [M, F, M, F]
age [21, 30, 26, 28]
dtype: object
'''
fenge("DataFrame ")
print(af_se)
'''
names sex age
0 Bob M 21
1 Jane F 30
2 Jack M 26
3 Ann F 28
'''
# , af_se columns ,
af_se2=pd.DataFrame(af_se,index=[0,"b","2","4"]\
,columns=["names","se","tr","fo"])
fenge(" DataFrame ")
print(af_se2)
'''
names se tr fo
0 Bob NaN NaN NaN
b NaN NaN NaN NaN
2 NaN NaN NaN NaN
4 NaN NaN NaN NaN
'''
Seriesタイプのデータ
個人の理解:1次元辞書とリストの結合のように、デフォルトのindexはリストと同じように0から始まるが、異なるのはこのデータ型のインデックスが自分で定義できることであり、例えばa.index=[インデックス1、インデックス2...]seriesのデータに対して:変数名を使用することができる.indexと変数名.valuesデータ内容の表示
import pandas as pd
def fenge(x):
print("*******%s *******"%x)
a=[1,2,6,8,4]
fenge(" a")
print(a)
#[1, 2, 6, 8, 4]
b=pd.Series(a)
fenge("series")
print (b)
'''
0 1
1 2
2 6
3 8
4 4
dtype: int64
'''
b.index=["zero","first","second","third","forth"]
fenge(" index ")
print(b)
"""
zero 1
first 2
second 6
third 8
forth 4
dtype: int64
"""
fenge(" b values")
print(b.values)
#[1 2 6 8 4]
print(b.keys)
'''
'''
seriesオブジェクト自体とindexにnameを追加
import pandas as pd
def fenge(x):
print("*******%s *******"%x)
a=[1,2,'6',8,4]
b=pd.Series(a)
fenge("series")
print(b)
'''
0 1
1 2
2 6
3 8
4 4
dtype: object
'''
fenge(" ")
b.name="mingzi"
b.index.name="suoyin"
print (b)
'''
suoyin
0 1
1 2
2 6
3 8
4 4
Name: mingzi, dtype: object
'''
DataFrameのデータ型
個人の認識:Seriesとの多次元に相当し、1行のインデックスだけでなく、複数の属性のインデックスを持つことができ、以下のプログラムから見ることができます.しかし主義的にはreindex(データ,index=[])関数は元のデータの内容を変えず,パラメータのデータを関数にコピーして形式を変える.ただし、reindex()のindex[]パラメータにパラメータデータが表示されない場合、新しく生成されたデータの内容はデフォルトで空です.
使用するデータ
2013/10/24
3
0
2013/10/25
4
1
2013/10/26
5
2
2013/10/27
5
3
2013/10/28
5
4
2013/10/29
5
5
import pandas as pd
def fenge(x):
print("*******%s *******"%x)
df=pd.read_csv("test_data.csv",header=None)
fenge(" df ")
print(df.head(4))
'''
0 1 2
0 2013/10/24 3 0
1 2013/10/25 4 1
2 2013/10/26 5 2
3 2013/10/27 5 3
'''
df.columns=["A","B","C"]
fenge(" ")
print(df.head(4))
'''
A B C
0 2013/10/24 3 0
1 2013/10/25 4 1
2 2013/10/26 5 2
3 2013/10/27 5 3
'''
fenge(" index ")
df.index=["a","b","c","d","e","f"]
print(df.head(4))
'''
A B C
a 2013/10/24 3 0
b 2013/10/25 4 1
c 2013/10/26 5 2
d 2013/10/27 5 3
'''
#
af_df=df.reindex(index=["e","f","d","fo","fi","si"])
fenge(" reindex ")
print(af_df.head(4))
'''
A B C
e 2013/10/28 5.0 4.0
f 2013/10/29 5.0 5.0
d 2013/10/27 5.0 3.0
fo NaN NaN NaN
'''
fenge(" reindex ")
print(df.head(4))
'''
A B C
a 2013/10/24 3 0
b 2013/10/25 4 1
c 2013/10/26 5 2
d 2013/10/27 5 3
'''