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....