1. 程式人生 > >Pandas:DataFrame數據的更改、插入新增的列和行

Pandas:DataFrame數據的更改、插入新增的列和行

core 參數 tro 語法 columns ont 對象 需要 mage

一、更改DataFrame的某些值

1、更改DataFrame中的數據,原理是將這部分數據提取出來,重新賦值為新的數據。

2、需要註意的是,數據更改直接針對DataFrame原數據更改,操作無法撤銷,如果做出更改,需要對更改條件做確認或對數據進行備份。

代碼:

import pandas as pd
df1 = pd.DataFrame([[Snow,M,22],[Tyrion,M,32],[Sansa,F,18],[Arya,F,14]], columns=[name,gender,age])

print("--------更換單個值----------
") # loc和iloc 可以更換單行、單列、多行、多列的值 df1.loc[0,age]=25 # 思路:先用loc找到要更改的值,再用賦值(=)的方法實現更換值 df1.iloc[0,2]=25 # iloc:用索引位置來查找 # at 、iat只能更換單個值 df1.at[0,age]=25 # iat 用來取某個單值,參數只能用數字索引 df1.iat[0,2]=25 # at 用來取某個單值,參數只能用index和columns索引名稱 print(df1)

結果圖:

技術分享圖片

二、插入新增列、行

代碼:

import pandas as pd

df1 
= pd.DataFrame([[Snow,M,22],[Tyrion,M,32],[Sansa,F,18],[Arya,F,14]], columns=[name,gender,age]) print("----------在最後新增一列---------------") print("-------案例1----------") # 在數據框最後加上score一列,元素值分別為:80,98,67,90 df1[score]=[80,98,67,90] # 增加列的元素個數要跟原數據列的個數一樣 print(df1) print("-------案例2----------
") print("---------在指定位置新增列:用insert()--------") # 在gender後面加一列城市 # 在具體某個位置插入一列可以用insert的方法 # 語法格式:列表.insert(index, obj) # index --->對象 obj 需要插入的索引位置。 # obj ---> 要插入列表中的對象(列名) col_name=df1.columns.tolist() # 將數據框的列名全部提取出來存放在列表裏 print(col_name) col_name.insert(2,city) # 在列索引為2的位置插入一列,列名為:city,剛插入時不會有值,整列都是NaN df1=df1.reindex(columns=col_name) # DataFrame.reindex() 對原行/列索引重新構建索引值 df1[city]=[北京,山西,湖北,澳門] # 給city列賦值 print(df1) print("----------新增行---------------") # 重要!!先創建一個DataFrame,用來增加進數據框的最後一行 new=pd.DataFrame({name:lisa, gender:F, city:北京, age:19, score:100}, index=[1]) # 自定義索引為:1 ,這裏也可以不設置index print(new) print("-------在原數據框df1最後一行新增一行,用append方法------------") df1=df1.append(new,ignore_index=True) # ignore_index=True,表示不按原來的索引,從0開始自動遞增 print(df1)

結果圖:

技術分享圖片

技術分享圖片

Pandas:DataFrame數據的更改、插入新增的列和行