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

Python?pandas?DataFrame數(shù)據(jù)拼接方法

 更新時(shí)間:2022年07月12日 09:20:07   作者:勤奮的大熊貓  
我們都知道在使用pandas處理數(shù)據(jù)的時(shí)候,往往會(huì)需要合并兩個(gè)或者多個(gè)DataFrame的操作,下面這篇文章主要給大家介紹了關(guān)于Python?pandas?DataFrame數(shù)據(jù)拼接方法的相關(guān)資料,需要的朋友可以參考下

前言

在pandas模塊中,通常我們都需要對(duì)類(lèi)型為DataFrame的數(shù)據(jù)進(jìn)行操作,其中最為常見(jiàn)的操作便是拼接了。比如我們將兩個(gè)Excel表格中的數(shù)據(jù)讀入,隨后拼接完成后保存進(jìn)一個(gè)新的Excel表格文件中。之前查找了相關(guān)的博客, 發(fā)現(xiàn)網(wǎng)絡(luò)上魚(yú)龍混雜。有些代碼完全無(wú)法執(zhí)行,為了提高效率,這里做一個(gè)詳細(xì)地記錄。

DataFrame數(shù)據(jù)拼接方法一:使用.append()方法。

# -*- coding:utf-8 -*-
import pandas as pd

df1 = pd.DataFrame([[1, 2], [3, 4]])
df2 = pd.DataFrame([[5, 6], [7, 8]])

df = df1.append(df2)

print("df1的值為:")
print(df1)
print("df2的值為:")
print(df2)
print("df的值為:")
print(df)
"""
運(yùn)行結(jié)果:
df1的值為:
   0  1
0  1  2
1  3  4
df2的值為:
   0  1
0  5  6
1  7  8
df的值為:
   0  1
0  1  2
1  3  4
0  5  6
1  7  8
"""

我們可以看到,首先我們使用了類(lèi)似于list列表的操作方式,使用.append()方法對(duì)df1與df2數(shù)據(jù)進(jìn)行了操作,但是需要注意的是,不同于對(duì)列表對(duì)象的操作,這里的df1仍舊為原來(lái)的df1所擁有的內(nèi)容,而我們賦值的對(duì)象df才是保存了二者拼接以后的結(jié)果。 所以記得一定要單獨(dú)執(zhí)行賦值才可以得到正確的結(jié)果!?。∑浯挝覀兛吹浇Y(jié)果其實(shí)是有些問(wèn)題的,df結(jié)果中的縱向索引值為0,1,0,1,仍舊保留了我們拼接前各自的索引值,這是不被我們需要的,因此我們需要設(shè)置 ignore_index=True來(lái)對(duì)索引值進(jìn)行重新排列。代碼如下:

# -*- coding:utf-8 -*-
import pandas as pd

df1 = pd.DataFrame([[1, 2], [3, 4]])
df2 = pd.DataFrame([[5, 6], [7, 8]])

df = df1.append(df2,  ignore_index=True)

print("df1的值為:")
print(df1)
print("df2的值為:")
print(df2)
print("df的值為:")
print(df)
"""
運(yùn)行結(jié)果:
df1的值為:
   0  1
0  1  2
1  3  4
df2的值為:
   0  1
0  5  6
1  7  8
df的值為:
   0  1
0  1  2
1  3  4
2  5  6
3  7  8
"""

我們可以看到,此時(shí)的縱向索引值變正常了。

注意: df1 = pd.DataFrame([[1, 2], [3, 4]])創(chuàng)建DataFrame類(lèi)型的數(shù)據(jù)時(shí)要使用雙層中括號(hào),單層中括號(hào)會(huì)導(dǎo)致數(shù)據(jù)縱向排列。

DataFrame數(shù)據(jù)拼接方法二:使用.concat()方法。

# -*- coding:utf-8 -*-
import pandas as pd

df1 = pd.DataFrame([[1, 2], [3, 4]])
df2 = pd.DataFrame([[5, 6], [7, 8]])

df = pd.concat([df1, df2], ignore_index=True)

print("df1的值為:")
print(df1)
print("df2的值為:")
print(df2)
print("df的值為:")
print(df)
"""
運(yùn)行結(jié)果:
df1的值為:
   0  1
0  1  2
1  3  4
df2的值為:
   0  1
0  5  6
1  7  8
df的值為:
   0  1
0  1  2
1  3  4
2  5  6
3  7  8
"""

我們可以看到成功實(shí)現(xiàn)了拼接。

但是這樣并不美觀,我們發(fā)現(xiàn),我們的縱向index還是用0,1在表示,那么我們可不可以自定義縱向index呢?答案是可以的,請(qǐng)看如下代碼:

import pandas as pd

df1 = pd.DataFrame([[1, 2], [3, 4]], columns=["column1", "column2"])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=["column1", "column2"])

df = pd.concat([df1, df2], ignore_index=True)

print("df1的值為:")
print(df1)
print("df2的值為:")
print(df2)
print("df的值為:")
print(df)
"""
運(yùn)行結(jié)果:
df1的值為:
   column1  column2
0        1        2
1        3        4
df2的值為:
   column1  column2
0        5        6
1        7        8
df的值為:
   column1  column2
0        1        2
1        3        4
2        5        6
3        7        8
"""

至此,DataFrame的拼接問(wèn)題暫時(shí)告一段落,當(dāng)然還存在其他方法,以后有機(jī)會(huì)了再補(bǔ)充,這兩種方法均為比較直觀和簡(jiǎn)潔的方法。推薦使用。此外, pd.concat()函數(shù)也適用于多個(gè)DataFrame的拼接, 只要將第一個(gè)參數(shù)變?yōu)橐粋€(gè)列表,涵蓋所有的DataFrame名稱(chēng)即可,如[df1, df2, df3]。

補(bǔ)充:Python同時(shí)合并多個(gè)DataFrame

pandas的merge函數(shù)只能同時(shí)合并三個(gè)dataframe,如果涉及到合并多個(gè)dataframe就比較麻煩

這種情況下我們可以創(chuàng)建一個(gè)我們需要合并的列表,然后將他們一次性合并在一起

# merge any number of dataframes
from functools import reduce
df_groups = [df2, group1, group2, group3, group4, group5, group6, group7, group8]
df_merged = reduce(lambda left, right: pd.merge(left, right, on=['title']), df_groups)
df_merged.head()

總結(jié)

到此這篇關(guān)于Python pandas DataFrame數(shù)據(jù)拼接的文章就介紹到這了,更多相關(guān)pandas DataFrame拼接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pytorch數(shù)據(jù)拼接與拆分操作實(shí)現(xiàn)圖解

    Pytorch數(shù)據(jù)拼接與拆分操作實(shí)現(xiàn)圖解

    這篇文章主要介紹了Pytorch數(shù)據(jù)拼接與拆分操作實(shí)現(xiàn)圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 一文詳解PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示

    一文詳解PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示

    這篇文章主要為大家詳細(xì)介紹了Python?PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-12-12
  • pytorch 禁止/允許計(jì)算局部梯度的操作

    pytorch 禁止/允許計(jì)算局部梯度的操作

    這篇文章主要介紹了pytorch 禁止/允許計(jì)算局部梯度的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-05-05
  • Python多線(xiàn)程thread及模塊使用實(shí)例

    Python多線(xiàn)程thread及模塊使用實(shí)例

    這篇文章主要介紹了Python多線(xiàn)程thread及模塊使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python實(shí)現(xiàn)獲取當(dāng)前日期的所屬信息

    Python實(shí)現(xiàn)獲取當(dāng)前日期的所屬信息

    在Python中,處理日期和時(shí)間是一個(gè)常見(jiàn)的任務(wù),它涉及到許多方面,例如獲取日期的年、月、日、星期幾等等,本文將詳細(xì)介紹如何使用Python來(lái)獲取當(dāng)前日期的各種相關(guān)信息,需要的可以了解下
    2024-01-01
  • python實(shí)現(xiàn)數(shù)字炸彈游戲程序

    python實(shí)現(xiàn)數(shù)字炸彈游戲程序

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)數(shù)字炸彈游戲程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • linux環(huán)境打包python工程為可執(zhí)行程序的過(guò)程

    linux環(huán)境打包python工程為可執(zhí)行程序的過(guò)程

    本次需求,在ubuntu上面開(kāi)發(fā)的python代碼程序需要打包成一個(gè)可執(zhí)行程序然后交付給甲方,因?yàn)椴荒苤苯咏o源碼給甲方,所以尋找方法將python開(kāi)發(fā)的源碼打包成一個(gè)可執(zhí)行程序,本次在ubuntu上打包python源碼的方法和在window上打包的有點(diǎn)類(lèi)似,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • Python去除字符串前后空格的三種方法匯總

    Python去除字符串前后空格的三種方法匯總

    這篇文章主要給大家介紹了關(guān)于Python去除字符串前后空格的三種方法,需要的朋友可以參考下
    2023-01-01
  • Python如何抓取天貓商品詳細(xì)信息及交易記錄

    Python如何抓取天貓商品詳細(xì)信息及交易記錄

    這篇文章主要為大家詳細(xì)介紹了Python如何抓取天貓商品詳細(xì)信息及交易記錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python實(shí)現(xiàn)生命游戲的示例代碼(tkinter版)

    Python實(shí)現(xiàn)生命游戲的示例代碼(tkinter版)

    生命游戲是由劍橋大學(xué)約翰·何頓·康威設(shè)計(jì)的計(jì)算機(jī)程序,一時(shí)吸引了各行各業(yè)一大批人的興趣。本文將用Python實(shí)現(xiàn)這一游戲,感興趣的可以嘗試一下
    2022-08-08

最新評(píng)論

乐亭县| 都匀市| 华安县| 任丘市| 高密市| 开平市| 东宁县| 四川省| 德格县| 清流县| 乌拉特中旗| 确山县| 手机| 石门县| 桃源县| 雅江县| 沅江市| 额尔古纳市| 浑源县| 杂多县| 同江市| 平顶山市| 卢龙县| 九江市| 石泉县| 会宁县| 平远县| 马尔康县| 绿春县| 财经| 上饶市| 东兰县| 长寿区| 巴楚县| 凤庆县| 诸城市| 独山县| 泾川县| 甘洛县| 专栏| 阿城市|