Pandas 學習筆記

2021-09-24 17:15:25 字數 2287 閱讀 5859

method 1

for index, row in dataframe.iterrows():

row['column_name']

method 2 

for row in dataframe.itertuples(index=true, name='pandas'):

getattr(row,'column_name')

method 3 

for i in range(len(dataframe)):

dataframe.iloc[i]['column_name]

import pandas

data = pandas.dataframe([['id1','class1'],['id2','class2'],['id3','class1']])

data.columns = ['id','class']

print('previous data :\n',data)

# 對映字典

import pandas

data = pandas.dataframe([['id1','class1'],['id2','class2'],['id3','class1']])

data.columns = ['id','class']

print('previous data :\n',data)

# 對映字典

data = data.join(pandas.get_dummies(data['class']))

data = data.drop('class',axis=1)

print('later data :\n',data)

執行結果如下

使用value_counts()統計列中每個值(類別)出現的次數,然後畫頻率直方圖。pandas中畫圖也是利用matplotlib庫進行的。

import pandas

import matplotlib.pyplot as plt

df = pandas.dataframe(['a','b','b','c','a','d'],columns=['d'])

print(df)

plot_data = df['d'].value_counts().sort_index()

# 按照 索引排序

print(plot_data)

plot_data.plot.bar(color=['blue','orange','green','red'])

# 將圖顯示出來

plt.show()

執行結果如下:

如果想給圖加上圖注,可以加入以下**

import matplotlib.patches as mpatches

patch =

plt.legend(handles=patch)

畫出來的圖結果如下

如果需要為各個柱子增加高度的資訊可以在bar()裡面新增width引數,設定為一,然後使用text(),plt.text(x,y,s)中x,y分別為橫座標和縱座標,s則是顯示的數值或其他內容。**如下

plot_data.plot.bar(width=1,color=['blue','orange','green','red'])

for i,__ in enumerate(plot_data.values.tolist()):

plt.text(i,__+0.05, '%.0f' % __, ha='center',va ='bottom',fontsize=15)

結果如下

pandas學習筆記

import numpy as np import pandas as pd obj2 pd.series 4,7,5,3 index d b a c obj2 out 99 d 4 b 7 a 5 c 3 dtype int64 a b pd.series a bout 102 a 1 b 2 c...

pandas學習筆記

1 建立物件,瀏覽資料 建立物件,瀏覽資料 import pandas as pd import numpy as np import matplotlib.pyplot as plt 建立series s pd.series 1,2,4,6,np.nan,9,10 index list abcde...

pandas學習筆記

1.series 類似numpy中的一維陣列,表示為索引 從0開始 和值。建立 import pandas as pd,numpy as np s1 pd.series np.arange 10 s2 pd.series 12 2,5 s3 pd.series 含有的屬性 s1.values s1....