パンダのPythonライブラリライブラリ

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/sandalphon4869/article/details/100585362


、パンダ

1.as

import pandas as pd

2.システム

非常に重要なデータ構造、すなわち、シーケンスデータブロックとシリーズのデータ​​フレームをパンダ2つのタイプがあります。

  • 機能または利用可能であり、そのデータは、インデックスタブによって得ることができる方法テイク次元アレイに加えて、一連のnumpyの類似の一次元アレイは、また、自動アライメント機能指数を有します。

  • 二次元アレイのnumpyの、一般的な機能及び方法と同様のデータフレームは、アレイnumpyのであってもよいです

数据结构1
数据结构2
pandas
Series
DataFrame

第二に、シーケンスデータブロックとシリーズのデータ​​フレーム

1.Seriesを作成します

インデックスは、左の指標である、右は対応する値です

名前= pd.Series(...)

(1)一次元アレイNP

#ndarray类型的一维数组
import pandas as pd
import numpy as np

a=pd.Series(np.array([3,4,5]));
print(a)
'''
0    3
1    4
2    5
dtype: int32
'''

print(type(a))
#<class 'pandas.core.series.Series'>

(2)一覧

#列表类型的一维数组
import pandas as pd

a=pd.Series([3,4,5]);
print(a)
'''
0    3
1    4
2    5
dtype: int64
'''

(3)辞書

import pandas as pd

dict = {'a':3,'b':4,'c':5}

ds=pd.Series(dict)
print(ds)
'''
a    3
b    4
c    5
dtype: int64
'''

(4)行または列のデータフレームによってシーケンスを作成します

import pandas as pd

dic3 = {'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}}
df3 = pd.DataFrame(dic3)

s3 = df3['one']
print(s3)
'''
a    1
b    2
c    3
d    4
Name: one, dtype: int64
'''
print(type(s3))
#<class 'pandas.core.series.Series'>

2.DataFrame

左と上側面がインデックス化されています

名前= pd.DataFrame(...)

(1)二次元アレイNP

#ndarray的二维数组
import pandas as pd
import numpy as np

arr1 = np.array(np.arange(12)).reshape(4,3)
df1 = pd.DataFrame(arr1)
print(df1)
'''
   0   1   2
0  0   1   2
1  3   4   5
2  6   7   8
3  9  10  11
'''

print(type(df1))
#<class 'pandas.core.frame.DataFrame'>

(2)ネストされたリスト

#列表类型的二维数组
import pandas as pd
arr2 = [[1,2,3],[4,5,6]];
df2 = pd.DataFrame(arr2)
print(df2)
'''
   0  1  2
0  1  2  3
1  4  5  6
'''

(3)辞書

2つのボックスにデータ・ディクショナリを作成するには、以下の、1は、辞書リスト、ネストされた辞書です。

#字典列表
import pandas as pd

dic1 = {'a':[1,2,3,4],'b':[5,6,7,8],'c':[9,10,11,12],'d':[13,14,15,16]}

df1 = pd.DataFrame(dic1)
print(df1)
'''
   a  b   c   d
0  1  5   9  13
1  2  6  10  14
2  3  7  11  15
3  4  8  12  16
'''
#嵌套字典
import pandas as pd

dic3 = {'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}}

df3 = pd.DataFrame(dic3)
print(df3)
'''
   one  three  two
a    1      9    5
b    2     10    6
c    3     11    7
d    4     12    8
'''

(4)データ・フレームを介してデータフレームを作成

import pandas as pd

dic3 = {'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}}
df3 = pd.DataFrame(dic3)

df4 = df3[['one','three']]
print(df4)
'''
   one  three
a    1      9
b    2     10
c    3     11
d    4     12
'''

第三に、インデックス

1.設定されたインデックス

(1)デフォルトのインデックス

もしそうでないと指定されたインデックス値、インデックス0から自己増力開始の自動生成します。

import pandas as pd

s4 = pd.Series(np.array([0,1,2,3,4,5]))
print(s4)
'''
0    0
1    1
2    2
3    3
4    4
5    5
dtype: int32
'''
import pandas as pd
import numpy as np

arr1 = np.array(np.arange(12)).reshape(4,3)

df1=pd.DataFrame(arr1)
print(df1)
'''
   0   1   2
0  0   1   2
1  3   4   5
2  6   7   8
3  9  10  11
'''

(2)閲覧インデックス

シリーズ

あなたは、インデックスによってインデックスシーケンスを表示することができます:ステップのステップサイズ、停止しないで、最初からスタート

print(s4.index)
#RangeIndex(start=0, stop=6, step=1)

データフレーム

インデックスの表示列のインデックス、列が横行インデックスを参照してください

import pandas as pd
import numpy as np

arr1 = np.array(np.arange(12)).reshape(4,3)

df1=pd.DataFrame(arr1,index=['a','b','c','d'],columns=[3,4,5])
print(df1)
'''
   3   4   5
a  0   1   2
b  3   4   5
c  6   7   8
d  9  10  11
'''

print(df1.index)
#Index(['a', 'b', 'c', 'd'], dtype='object')

print(df1.columns)
#Int64Index([3, 4, 5], dtype='int64')

(3)カスタムインデックス

自己定義されたインデックスの概念

カスタムインデックスは、インデックスがカスタマイズするために使用できるだけでなく、あなたはまた、元のデフォルトのインデックスを使用することができます

別々の作成

import pandas as pd

s4 = pd.Series(np.array([0,1,2,3,4,5]))
print(s4)
'''
0    0
1    1
2    2
3    3
4    4
5    5
dtype: int32
'''

s4.index = ['a','b','c','d','e','f']
print(s4)
'''
a    0
b    1
c    2
d    3
e    4
f    5
dtype: int32
'''
import pandas as pd
import numpy as np

arr1 = np.array(np.arange(12)).reshape(4,3)
df1 = pd.DataFrame(arr1)
print(df1)
'''
   0   1   2
0  0   1   2
1  3   4   5
2  6   7   8
3  9  10  11
'''

df1.index=['a','b','c','d']
print(df1)
'''
   0   1   2
a  0   1   2
b  3   4   5
c  6   7   8
d  9  10  11
'''

df1.columns=[3,4,5]
print(df1)
'''
   3   4   5
a  0   1   2
b  3   4   5
c  6   7   8
d  9  10  11
'''

初期化中に作成されました

import pandas as pd

s=pd.Series(np.array([1,2,3]),index=['a','b','c'])
print(s)
'''
a    1
b    2
c    3
dtype: int32
'''
print(s.index)
#Index(['a', 'b', 'c'], dtype='object')
import pandas as pd
import numpy as np

arr1 = np.array(np.arange(12)).reshape(4,3)

df1=pd.DataFrame(arr1,index=['a','b','c','d'],columns=[3,4,5])
print(df1)
'''
   3   4   5
a  0   1   2
b  3   4   5
c  6   7   8
d  9  10  11
'''

2.インデックスデータを取得します。

単一のインデックス:インデックス値、S4として、[1]又はS4 [ 'B']

インデックス複数の一次元のリスト、例えばS4 [1,3,5]又はS4として[「B」、「D」、「F」]

ファンシーインデックス:カスタムラベルを介してデータを取得し、その後、ラベルの端部に対応するインデックス値が返されます!デフォルトのインデックスタブは戻りません。
[4]と[ 'D':]、[ 2] 及び[: 'C']の効果は同じです。しかし、[ 'B': 'D' 〕 含まは、BからDまでである[1:3]未満、1〜3です。

import pandas as pd

s4 = pd.Series(np.array([0,1,2,3,4,5]))
print(s4)
'''
0    0
1    1
2    2
3    3
4    4
5    5
dtype: int32
'''

s4.index = ['a','b','c','d','e','f']
print(s4)
'''
a    0
b    1
c    2
d    3
e    4
f    5
dtype: int32
'''

#单个索引
print('s4[3]: ',s4[3])
print('s4[e]: ',s4['e'])
'''
s4[3]:  3
s4[e]:  4
'''

#多个索引
print("s4[[1,3,5]]: ",s4[[1,3,5]])
'''
s4[1,3,5]:  b    1
d    3
f    5
dtype: int32
'''
print("s4[['b','d','f']]: ",s4[['b','d','f']])
'''
s4[['b','d','f']]:  b    1
d    3
f    5
dtype: int32
'''

#花式索引-一样的
print('s4[:4]: ',s4[:4])
print("s4[:'d']:",s4[:'d'])
print('s4[2:]',s4[2:])
print("s4['c':]: ",s4['c':])
'''
s4[:4]:  a    0
b    1
c    2
d    3
dtype: int32
s4[:'d']: a    0
b    1
c    2
d    3
dtype: int32
s4[2:] c    2
d    3
e    4
f    5
dtype: int32
s4['c':]:  c    2
d    3
e    4
f    5
dtype: int32
'''

#花式索引-不同的
print("s4['b':'d']: ",s4['b':'d'])
print("s4[1:3]:",s4[1:3])
'''
s4['b':'d']:  b    1
c    2
d    3
dtype: int32
s4[1:3]: b    1
c    2
dtype: int32
'''

3.合わせの自動化

自動アライメント - 二つの配列二つの演算シーケンスのための必要性がある場合、その値を反映する指標があります。

インデックスを対応する場合、結果は、インデックス結果の間です。

場合は、結果はNaNに対応するインデックスの欠如です。

import pandas as pd
import numpy as np

s1=pd.Series(np.array([1,2,3]),index=['a','b','c'])
s2=pd.Series(np.array([10,20,30]),index=['b','a','d'])

print(s1+s2)
'''
a    21.0
b    12.0
c     NaN
d     NaN
dtype: float64
'''
import pandas as pd

d1=pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]})
d2=pd.DataFrame({'b':[10,10,10],'a':[20,20,20],'d':[30,30,30]})
print(d1+d2)
'''
    a   b   c   d
0  21  14 NaN NaN
1  22  15 NaN NaN
2  23  16 NaN NaN
'''

おすすめ

転載: blog.csdn.net/sandalphon4869/article/details/100585362