最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas DataFrame的修改方法(值、列、索引)

 更新時(shí)間:2019年08月02日 14:16:25   作者:蒙面的普羅米修斯  
這篇文章主要介紹了pandas DataFrame的修改方法(值、列、索引),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

對(duì)于DataFrame的修改操作其實(shí)有很多,不單單是某個(gè)部分的值的修改,還有一些索引的修改、列名的修改,類型修改等等。我們僅選取部分進(jìn)行介紹。

一、值的修改

DataFrame的修改方法,其實(shí)前面介紹loc方法的時(shí)候介紹了一些。

1、 loc方法修改

loc方法實(shí)際上是定位某個(gè)位置的數(shù)據(jù)的,但是定位完以后就可以對(duì)此位置的數(shù)據(jù)進(jìn)行修改,使用此方法可以對(duì)DataFrame進(jìn)行的修改如下:
1.對(duì)某行、某N行進(jìn)行修改;
2.對(duì)某列、某N列進(jìn)行修改;
3.對(duì)橫坐標(biāo)為某行或某N行,縱坐標(biāo)為某列或者某N列的數(shù)據(jù)進(jìn)行修改;

可以看出基本用loc方法我們對(duì)DataFrame可以進(jìn)行任意修改了。

1.1 對(duì)某行、某N行進(jìn)行修改

# 對(duì)第1行進(jìn)行修改
test_dict_df.loc[1:1,('english','id','math','name')]=[90,2,100,'Alice_m']
# 對(duì)第0行到第1行進(jìn)行修改
test_dict_df.loc[0:1,('english','id','math','name')]=[[90,1,100,'Alice_m'],[70,2,100,'Bob']]
# 對(duì)第0行和第2行進(jìn)行修改
test_dict_df.loc[0:3:2,('english','id','math','name')]=[[90,1,100,'Alice_m'],[70,2,100,'Bob']]

可以看出具體的方法就是用loc方法,對(duì)某行或者某N行進(jìn)行定位,然后賦予合適的格式的值就可以了。

1.2 對(duì)某列、某N列進(jìn)行修改

學(xué)會(huì)了使用loc方法對(duì)行的修改,那觸類旁通,對(duì)列的修改也很簡(jiǎn)單了。對(duì)列修改也就是修改此列的所有行。

# 對(duì)第english列進(jìn)行修改
test_dict_df.loc[:,('english')]=[90,80,70,90,90,59] #test_dict_df.loc[:,'english']=[90,80,70,90,90,59]
# 對(duì)第english列和id列進(jìn)行修改,注意賦值的寫法
test_dict_df.loc[:,('english','id')]=[[90,1],[80,2],[80,2],[80,2],[80,2],[80,2]]

1.3 對(duì)某個(gè)區(qū)域的值進(jìn)行修改

# 對(duì)第1、2行的english列和 id列進(jìn)行修改
test_dict_df.loc[1:2,('english','id')]=[[38,2],[23,2]]

1.4總結(jié)

可以看到loc方法就是,只要你能選到某個(gè)或者某個(gè)區(qū)域的值,然后就可以對(duì)此部分的值進(jìn)行修改。但是要注意賦值部分的組織方式。

2、 iloc、at、iat方法修改

類比于上面的方式,其實(shí)只要能選擇,都是可以修改的。選擇方法可以看pandas DataFrame的查詢(選擇)篇。

二、列名的修改

1、直接全部更改

這種方法是對(duì)DataFrame的列名進(jìn)行重新賦值,比較暴力直接。

test_dict_df.columns=['english_new','id_new','math_new','name_new']

2、使用rename方法

這種方法是比較推薦的,通過rename方法,注意參數(shù)inplace=True的時(shí)候,才能真正的在原來的DataFrame上進(jìn)行修改。

test_dict_df.rename(columns={'english_new':'english'},inplace=True)

三、索引的修改

1、修改索引名稱

上面的rename方法,如果不寫columns=xx就默認(rèn)修改索引了 。

test_dict_df.rename({0:'english1'},inplace=True)

2、重置索引

通過reset_index()方法我們可以重置索引,drop參數(shù)為True時(shí),直接丟棄原來的索引,否則原來的索引新生成一列名為'index'的列:

test_dict_df.reset_index(inplace=True,drop=True)

3、設(shè)置其他列為索引

當(dāng)然我們也可以用其他列為索引,通過set_index()方法:

test_dict_df.set_index('id_new')

四、總結(jié)

可以看到,所謂的修改首先要能選擇修改的位置,即定位,然后對(duì)確定好的位置進(jìn)行重新賦值,所以我們學(xué)會(huì)了如何選擇數(shù)據(jù),也就基本能修改此處的數(shù)據(jù)。

源代碼:github

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

相關(guān)文章

最新評(píng)論

青河县| 古蔺县| 镇远县| 峨眉山市| 于都县| 依安县| 潜江市| 高台县| 苍山县| 通城县| 永昌县| 乐陵市| 蒲江县| 黑水县| 福泉市| 甘孜县| 龙山县| 中牟县| 阜阳市| 江陵县| 龙口市| 营山县| 同仁县| 新营市| 台南市| 宁德市| 柘城县| 通榆县| 嘉定区| 赤峰市| 关岭| 运城市| 上思县| 垣曲县| 九龙城区| 阜阳市| 芦溪县| 城口县| 布拖县| 金川县| 金山区|