pandas操作行集錦


pandas移花接木

數據准備兩表:

gaigai

我們接下來要進行的操作:

  • 將兩表進行合並
# 把兩張表合並,但是這樣有問題,索引會重復的進行0-19
students = page_001.append(page_002)
students

# 我們需要做一步操作,將索引全部重新排列,reset_index同時還要將原索引刪除drop=True,這樣就OK
students.reset_index(drop=True)

gai gai

  • 追加一行數據到最后
# 這里必須開啟ignore_index告訴pandas直接給我加,不要管索引,否則會報錯
append_last = pd.Series({'ID':40, 'Name':'New_friend', 'Score': 90})
# 修改了數據后記住重新把對象引用給students,否則只是修改了副本
students= students.append(append_last,ignore_index=True)

圖太長,放結果那幾行

gai

  • 追加一行數據到中間的位置,例如索引為20的前面
這里可以先把數據拆分為兩部分,一部分為前20,一部分為后面的
part1 = students[:20]
part2 = students[20:]
part1 = part1.append(pd.Series({'ID':100, 'Name': 'HHHHHH', 'Score':1111}),ignore_index=True)
OK合並成功
part1.append(part2,ignore_index=True)

gai

修改數據有兩種做法,原理不同結果相同-條條大路通羅馬

  • 1.修改其中的一行數據,把38行的Student_39改了
直接修改源數據
students.at[38, 'Name'] = 'HI'
students

gai

  • 2.DataFrame降維度后得Series對象,我們可以生成Series對象,直接替換掉舊的
# 生成新數據行
new_data = pd.Series({'ID':39 , 'Name': 'HELLO', 'Score': 100})
# 篩選出要替換的行,用iloc或者loc都行,這里我用iloc
students.iloc[39] = new_data
students

gai

drop函數接收一個可迭代對象

刪除指定索引的行
students.drop(index=[0,1,2],inplace=True)
students

gai

刪除某個范圍內的行數據
students.drop(index=range(10,15),inplace=True)
students

gai

將某個區間的Name修改為空值,篩選出這部分數據,並進行刪除

for i in range(20, 25):
    students.at[i, 'Name'] = ''
students

gai

drop接收一個可迭代對象,那么我們就要先找出空值的數據
missing = students.loc[students['Name'] == '']
然后將空數據行的索引傳給drop
students.drop(index=missing.index,inplace=True)
students

gai

以上就是關於pandas操作行的集錦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM