iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Python

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

10 [python] pandas的欄列選擇工具 dataframe.loc[ ]和.iloc[ ] [16th 鐵人 Day 19]

  • 分享至 

  • xImage
  •  

點我下載:song_rank2.csv

讀檔

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

https://ithelp.ithome.com.tw/upload/images/20240911/20162398chJXTPjtzM.png

*.loc[ ] 和 .iloc[ ] 是 pandas的dataframe獨有的選擇欄列的方式

方法一:dataframe.loc[ ]

第0筆

#single augr.: the labels of indexs # including both
#single
#list
#slice
p2.loc[0] #single
    Rank                                                      1
    Hits                                                  98318
    Song                                                  青空未來 
    Co                                                        否
    Artist                                               五月天 阿信
    Date                                             2021-07-28
    Url       https://www.kkbox.com/tw/tc/song/d6L00KOUN.rUv...
    Name: 0, dtype: object

第0筆, 第1筆

l=[0,1]
p2.loc[l] #list

https://ithelp.ithome.com.tw/upload/images/20240911/20162398MacbSEr29Q.png

p2.loc[0:1] #slice

https://ithelp.ithome.com.tw/upload/images/20240911/20162398IgnCm4cBNO.png

Artist欄位

p2.loc[0:,"Artist"]
    0           五月天 阿信
    1         魏嘉瑩, 魏如昀
    2        陳芳語 , 茄子蛋
    3          蕭敬騰, 馬佳
    4             吳汶芳 
    5     琳誼 Ring, 許富凱
    6             張語噥 
    7          Ray 黃霆睿
    8            飛兒樂團 
    9          摩登兄弟劉宇寧
    10          五月天 阿信
    11          五月天 阿信
    12        魏嘉瑩, 魏如昀
    13       陳芳語 , 茄子蛋
    Name: Artist, dtype: object

Artist欄位的第0筆, 第1筆

p2.loc[0:1,'Artist']
    0      五月天 阿信
    1    魏嘉瑩, 魏如昀
    Name: Artist, dtype: object

用.loc[ ]的方式 新增欄位: .loc[ ] = values

p2.loc[0:1,'Artist2']=50
p2

https://ithelp.ithome.com.tw/upload/images/20240911/20162398jQZZkzRJQj.png

新增art1, art2欄位

art1 = p2.Artist.str.split(',', expand=True)[0]
art2 = p2.Artist.str.split(',', expand=True)[1]
p2.loc[0:,'art1']=art1
p2.loc[0:,'art2']=art2
p2

https://ithelp.ithome.com.tw/upload/images/20240911/201623984U751u28U3.png

用欄名 調換欄位[ list() ]

p2.columns
    Index(['Rank', 'Hits', 'Song', 'Co', 'Artist', 'Date', 'Url', 'Artist2',
           'art1', 'art2'],
          dtype='object')
new_l = ['Rank', 'Hits', 'Song', 'Co', 'Artist',
       'art1', 'art2', 'Date', 'Url', 'Artist2']
p2[new_l]

https://ithelp.ithome.com.tw/upload/images/20240911/20162398RX0WsAOuV8.png

*dataframe.loc[ ] v. dataframe.iloc[ ]

#augr.: the indexs # end excluded
p2.iloc[0:1]

https://ithelp.ithome.com.tw/upload/images/20240911/201623988L8oOqWIR8.png

p2.loc[0:1]

https://ithelp.ithome.com.tw/upload/images/20240911/20162398Xhf34eIVnS.png

內容預告:

10 [python] pandas的欄列選擇工具 dataframe.loc[ ]和.iloc[ ]

10 [R] r的dataframe欄列選擇方式

11 取得欄位位置

12 布林值和表格條件選取

13 畫長條圖統計

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

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

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


上一篇
09 [R] 表格 dataframe dplyr::mutate()插入欄位 和 字串處理strsplit() [16th 鐵人 Day 18]
下一篇
10 [R] r的dataframe欄列選擇方式 [16th 鐵人 Day 20]
系列文
Python和R入門語法比較30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言