欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas DataFrame數(shù)據(jù)的更改、插入新增的列和行的方法

 更新時間:2019年06月25日 14:38:11   作者:我的星空123  
這篇文章主要介紹了Pandas DataFrame數(shù)據(jù)的更改、插入新增的列和行的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、更改DataFrame的某些值

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

2、需要注意的是,數(shù)據(jù)更改直接針對DataFrame原數(shù)據(jù)更改,操作無法撤銷,如果做出更改,需要對更改條件做確認或?qū)?shù)據(jù)進行備份。

代碼:

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找到要更改的值,再用賦值(=)的方法實現(xiàn)更換值
df1.iloc[0,2]=25     # iloc:用索引位置來查找

# at 、iat只能更換單個值
df1.at[0,'age']=25   # iat 用來取某個單值,參數(shù)只能用數(shù)字索引
df1.iat[0,2]=25     # at 用來取某個單值,參數(shù)只能用index和columns索引名稱
print(df1)

結(jié)果圖:

二、插入新增列、行

代碼:

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----------")
# 在數(shù)據(jù)框最后加上score一列,元素值分別為:80,98,67,90
df1['score']=[80,98,67,90]  # 增加列的元素個數(shù)要跟原數(shù)據(jù)列的個數(shù)一樣
print(df1)

print("-------案例2----------")
print("---------在指定位置新增列:用insert()--------")
# 在gender后面加一列城市
# 在具體某個位置插入一列可以用insert的方法
# 語法格式:列表.insert(index, obj)
# index --->對象 obj 需要插入的索引位置。
# obj ---> 要插入列表中的對象(列名)

col_name=df1.columns.tolist()          # 將數(shù)據(jù)框的列名全部提取出來存放在列表里
print(col_name)

col_name.insert(2,'city')           # 在列索引為2的位置插入一列,列名為:city,剛插入時不會有值,整列都是NaN
df1=df1.reindex(columns=col_name)       # DataFrame.reindex() 對原行/列索引重新構(gòu)建索引值

df1['city']=['北京','山西','湖北','澳門']  # 給city列賦值
print(df1)

print("----------新增行---------------")
# 重要?。∠葎?chuàng)建一個DataFrame,用來增加進數(shù)據(jù)框的最后一行
new=pd.DataFrame({'name':'lisa',
         'gender':'F',
         'city':'北京',
         'age':19,
         'score':100},
         index=[1])  # 自定義索引為:1 ,這里也可以不設(shè)置index
print(new)

print("-------在原數(shù)據(jù)框df1最后一行新增一行,用append方法------------")
df1=df1.append(new,ignore_index=True)  # ignore_index=True,表示不按原來的索引,從0開始自動遞增
print(df1)

結(jié)果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論