iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
Python

Python和R入門語法比較系列 第 25

13 [Python] 畫長條圖統計 [16th 鐵人 Day 25]

  • 分享至 

  • xImage
  •  

點我下載:song_rank3.csv

讀檔

import pandas as pd
with open('data/song_rank3.csv') as f:
    p = pd.read_csv(f)
p

https://ithelp.ithome.com.tw/upload/images/20240923/20162398LnYJESa2Im.png

取art2欄非空值者

p.art2.notnull()
    0     False
    1      True
    2      True
    3      True
    4     False
    5      True
    6     False
    7     False
    8     False
    9     False
    10    False
    11    False
    12     True
    13     True
    Name: art2, dtype: bool

用df[bool]篩選

a2 = p.art2.notnull()
p[a2]

https://ithelp.ithome.com.tw/upload/images/20240923/20162398uPcDi85Ask.png

print(p[a2].art1.count())
print(p[-a2].art1.count())
6
8

獨唱有8首 合唱有6首

p[a2].art1.count() art2非空值 合唱
p[-a2].art1.count() art2是空值 獨唱

使用 matplotlib.pyplot 畫 長條圖

載入 matplotlib.pyplot 套件 命名為 plt

import matplotlib.pyplot as plt

建立

x軸資料: '獨唱', '合唱'

y軸資料: 8, 6

x = pd.Series(['獨唱','合唱'])
y = pd.Series([p[a2].art1.count(), p[-a2].art1.count()])

畫長條圖

plt.bar(x,y)
plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/201623981xCM5Cfq6n.png

調整字體

plt.rcParams['font.family'] = 'Heiti TC' #system font --> go to your "Font Book"
plt.bar(x,y)
plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/20162398a1WxxXZKuE.png

調整條寬

plt.rcParams['font.family'] = 'Heiti TC' #system font --> go to your "Font Book"
plt.bar(x,y, width=0.1)
plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/20162398OC7CdPHmt8.png

調整長條底的對齊

plt.rcParams['font.family'] = 'Heiti TC' #system font --> go to your "Font Book"
plt.bar(x,y, width=0.1, align='edge')
plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/201623981Y0TxHePBX.png

加入標題

plt.rcParams['font.family'] = 'Heiti TC' #system font --> go to your "Font Book"
plt.bar(x,y, width=0.1, align='edge')

plt.title('華語歌曲榜統計')

plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/20162398XA5RET5iQp.png

加入x軸標籤

plt.rcParams['font.family'] = 'Heiti TC' #system font --> go to your "Font Book"
plt.bar(x,y, width=0.1, align='edge')

plt.title('華語歌曲榜統計')

plt.xlabel('歌曲分類')

plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/20162398UH6q5YL76z.png

加入y軸標籤

plt.rcParams['font.family'] = 'Heiti TC' #system font --> go to your "Font Book"
plt.bar(x,y, width=0.1, align='edge')

plt.title('華語歌曲榜統計')

plt.xlabel('歌曲分類')
plt.ylabel('數量')

plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/20162398ETG8RFN0JD.png

旋轉y軸標籤

plt.rcParams['font.family'] = 'Heiti TC' #system font --> go to your "Font Book"
plt.bar(x,y, width=0.1, align='edge')

plt.title('華語歌曲榜統計')

plt.xlabel('歌曲分類')
plt.ylabel('數量', rotation=0)

plt.show()

https://ithelp.ithome.com.tw/upload/images/20240923/20162398QxXGoVxpBo.png

內容預告:

13 [R]畫長條圖統計

14 [Python] for迴圈 和 matplotlib.pyplot 畫線圖

14 [R]for迴圈 和 ggplot 畫線圖

15 for 迴圈 和 html網頁資料解析 迴圈 和 html網頁資料解析


上一篇
12 [R] 布林值和表格條件選取 [16th 鐵人 Day 24]
下一篇
13 [R] 畫長條圖統計 [16th 鐵人 Day 26]
系列文
Python和R入門語法比較30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言