python pandas 合并数据
生活随笔
收集整理的這篇文章主要介紹了
python pandas 合并数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題是這樣的,我有一個數據表集合,包括很多省份的年份數據。如下圖:
每個表格數據表內部是這種:
比如上海:
再比如 云南
現在想要把31個省份合并到一個大表,
就是如下。
可以使用下面的命令:
def get_all_cross():df = pd.DataFrame({"year":list(range(2013, 2022)),"prov":"all"})for i in range(len(cross_list)):df_temp = pd.read_excel(os.path.join(crosstab_data_dir, cross_list[i]))df_temp.columns = [ 'year', '{}'.format(cross_list_prov_name[i])]df = pd.merge(right=df, left=df_temp, how='outer', sort='year')print("{} prov merged ".format(cross_list_prov_name[i]))print(df)return df其中,cross_list_prov_name是xlsx文件的名字,
這里我現定義了一個空表,這個表里面必須有兩列,year,和prov,這樣在for循環里,把其他的表加進來。
如果沒有兩個空列,加不進來,結果達到想要目的。但是還是會有最后一列空的。就是這樣。
我也不知有沒有更好的辦法,反正最后合并成新表了 之后,在刪去最后一列就算了。
df_all_cross = get_all_cross()這里主要是用了merge,how關鍵詞需要傳入“outer",不然只會合并出最少年份的數據為主的表。
總結
以上是生活随笔為你收集整理的python pandas 合并数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北汽新能源汽车忘了关闭电源就冲电,电车能
- 下一篇: 爬虫css选择器,选择属性