Pandas實(shí)現(xiàn)按照時(shí)間維度合并多張表
1.數(shù)據(jù)樣式和目標(biāo)
1.1 數(shù)據(jù)樣式
- A表:
| time | value |
| 1996-1-1 | 111 |
| 1996-1-2 | 222 |
| 1996-1-6 | 333 |
| 1996-1-10 | 444 |
- B表:
| time | value |
| 1996-1-2 | 555 |
| 1996-1-5 | 666 |
| 1996-1-11 | 777 |
| 1996-1-12 | 888 |
1.2 拼接目標(biāo)樣式
| time | value_A | value_B |
| 1996-1-1 | 111 | null |
| 1996-1-2 | 222 | 555 |
| 1996-1-5 | null | 666 |
| 1996-1-6 | 333 | null |
| 1996-1-10 | 444 | null |
| 1996-1-11 | null | 777 |
| 1996-1-12 | null | 888 |
2. 拼接方法
我嘗試了pd.merge()和pd.concat()這兩種方法,發(fā)現(xiàn)pd.merge()才是我想要的拼接形式,按索引拼接;
而pd.concat()屬于硬性拼接,只會(huì)把雙方的第一行第二行拼接一起。
2.1 pd.merge()
df = pd.merge(left=left_df, right=right_df, how='outer', on='time')
- 拼接結(jié)果為:
| time | value_A | value_B |
| 1996-1-1 | 111 | null |
| 1996-1-2 | 222 | null |
| 1996-1-6 | 333 | null |
| 1996-1-10 | 444 | null |
| 1996-1-2 | null | 555 |
| 1996-1-5 | null | 666 |
| 1996-1-11 | null | 777 |
| 1996-1-12 | null | 888 |
2.2 df.sort_index()
為了將上述數(shù)據(jù)處理成我們想要的格式,我嘗試了df.groupby(),發(fā)現(xiàn)只能是DataframeGroupBy對(duì)象,而非我們想要的Dataframe,轉(zhuǎn)換非常麻煩;
后來發(fā)現(xiàn)了df.sort_index()方法,按照索引排序,解決!
df = df.sort_index()
- 代碼結(jié)果為:
| time | value_A | value_B |
| 1996-1-1 | 111 | null |
| 1996-1-2 | 222 | 555 |
| 1996-1-5 | null | 666 |
| 1996-1-6 | 333 | null |
| 1996-1-10 | 444 | null |
| 1996-1-11 | null | 777 |
| 1996-1-12 | null | 888 |
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)Pyecharts實(shí)現(xiàn)動(dòng)態(tài)地圖(Map、Geo)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)Pyecharts實(shí)現(xiàn)動(dòng)態(tài)地圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
基于Python Watchdog庫(kù)實(shí)現(xiàn)文件系統(tǒng)監(jiān)控
Watchdog是一個(gè)優(yōu)秀的Python庫(kù),用于監(jiān)控文件系統(tǒng)事件,本文將介紹Watchdog的基本用法,并通過一個(gè)實(shí)際案例展示如何用它來監(jiān)控下載目錄并自動(dòng)轉(zhuǎn)換ICO文件為PNG格式2025-07-07
Python從單元素字典中獲取key和value的實(shí)例
今天小編就為大家分享一篇Python從單元素字典中獲取key和value的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python數(shù)據(jù)結(jié)構(gòu)樹和二叉樹簡(jiǎn)介
這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)樹和二叉樹簡(jiǎn)介,需要的朋友可以參考下2014-04-04
Python Pandas處理結(jié)構(gòu)化數(shù)據(jù)的核心技巧
在數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,結(jié)構(gòu)化數(shù)據(jù)是分析決策的基礎(chǔ),本文將以真實(shí)場(chǎng)景為線索,通過代碼示例和操作邏輯解析,帶你掌握Pandas處理結(jié)構(gòu)化數(shù)據(jù)的核心方法2025-09-09
DRF使用simple JWT身份驗(yàn)證的實(shí)現(xiàn)
這篇文章主要介紹了DRF使用simple JWT身份驗(yàn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具詳解
這篇文章主要介紹了用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

