Pandas 基础(8) - 用 concat 组合 dataframe
生活随笔
收集整理的這篇文章主要介紹了
Pandas 基础(8) - 用 concat 组合 dataframe
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以各個城市的天氣為例, 先準備下面的數據:
印度天氣的相關信息:
import pandas as pd india_weather = pd.DataFrame({ 'city': ['mumbai', 'delhi', 'banglore'], 'temperature': [32, 34, 30], 'humidity': [80, 60, 72] }) india_weather美國天氣的相關信息:
us_weather = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'temperature': [21, 24, 32], 'humidity': [68, 65, 70] }) us_weather用 concat 組合上面兩個 dataframe:
df = pd.concat([india_weather, us_weather]) df輸出:
上面的輸出最左邊的序列號是重復的, 原因是數據分別來自兩個 dataframe 的索引值, 可以通過忽略原本的索引來做改變:
df = pd.concat([india_weather, us_weather], ignore_index=True)輸出:
下面再介紹另一種輸出形式:
df = pd.concat([india_weather, us_weather], keys=['india', 'us'])輸出:
由于我們上面設置了關鍵字, 所以下面就可以利用這個關鍵字獲取相關的信息:
df.loc['india']輸出:
從我們一系列的輸出可以看出, 這些組合都是縱向的組合, 那么在實際應用中, 我們是經常需要做橫向組合的, 比如下面的例子:
temperature_df = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'temperature': [21, 24, 32], }) windspeed_df = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'temperature': [7, 12, 9], })橫向組合:
df = pd.concat([temperature_df, windspeed_df], axis=1)輸出:
從目前的輸出來看, 兩組數據對應的很好, 同一個城市都在同一行上, 那如果我們把數據源改下:
我改動了關于風速的數據, 顛倒了城市的順序, 還刪掉了一個城市, 大家可以自己運行一下, 看到輸出的結果有點亂了. 遇到這種情況, 我們可以通過給原數據加索引的方式, 來設置數據的排序:
temperature_df = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'temperature': [21, 24, 32], }, index=[0, 1, 2]) windspeed_df = pd.DataFrame({ 'city': ['chicago', 'newyork'], 'temperature': [12, 7], }, index=[1, 0])輸出:
這樣數據順序就調好了.
下面再介紹一下 dataframe 與 series 的組合方式:
s = pd.Series(['Humidity', 'Dry', 'Rain'], name='event')df = pd.concat([temperature_df, s], axis=1)輸出:
以上就是關于 concat 的組合數據的一些常用方法啦, 下節課會帶來更勁爆的組合方法, enjoy~~~
?
轉載于:https://www.cnblogs.com/rachelross/p/10428602.html
總結
以上是生活随笔為你收集整理的Pandas 基础(8) - 用 concat 组合 dataframe的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 寒假与春节终归,新学期和新任务又至
- 下一篇: Nginx 通过 Lua + Redis