python如何將兩個數(shù)據(jù)表中的對應(yīng)數(shù)據(jù)相加
python兩個數(shù)據(jù)表中的對應(yīng)數(shù)據(jù)相加
記錄一下自己的學(xué)習(xí)過程。
有很多省份的數(shù)據(jù),想要求全國的綜合。
這些數(shù)據(jù)都分別存在csv里。
如下:
我希望把全部省份加起來, 算一個全國總和。這時候需要用到數(shù)據(jù)表對應(yīng)值相加。
代碼如下:
先讀進來一個數(shù)據(jù)表,比如
df1 是湖北的。
在df1 的基礎(chǔ)上創(chuàng)建一個空表。
df_empty = pd.DataFrame(np.zeros(df1.shape), columns=df1.columns, index=df1.index)
這樣df_empty是
然后寫一個for循環(huán),逐個加進來。
for i in range(len(result_list)): print("\n************\n") print(result_list[i]) print(prov_list[i]) dfi = pd.read_csv(os.path.join(result_data_dir, result_list[i]), index_col='year') print(dfi) dfi = dfi.fillna(0) print(i) df_empty = df_empty.add(dfi, fill_value = 0) print(df_empty)
中間有很多打印的內(nèi)容,其實關(guān)鍵的是其中兩句。
dfi = pd.read_csv(os.path.join(result_data_dir, result_list[i]), index_col='year')
這一句保證讀進來的數(shù)據(jù)索引相同,列相同。
相加,
df_empty = df_empty.add(dfi, fill_value = 0)
這一句可以讓數(shù)據(jù)表相加,相當于矩陣的點加。
得到最后結(jié)果如下
其中fill_value=0,不能省略,因為如果不加,那么add的時候,會把一些有缺失的格變成缺失,最后加起來會有很多缺失。
看樣子原來沒有的行,比如2010,會自動添加進去??偤蛿?shù)據(jù)表里多了2010這一行。
三種Python中兩個列表數(shù)字“相加”方法
最近我在用Python處理數(shù)據(jù)時,需要將列表數(shù)據(jù)相加實現(xiàn)“累積”效果的。
需要注意,我這里所說的列表相加,并非是下面這種“列表元素相加”的情況。
list_1 = [1, 2, 3] list_2 = [4, 5, 6] print(list_1 + list_2)
輸出:
[1, 2, 3, 4, 5, 6]
注:列表元素的添加方式中,除了+號還有append()、extend()等方法。
我們目前的兩個列表元素都是int整數(shù)型,其次它們長度相同,我們想要對應(yīng)索引位置元素相加,生成新的列表list_3。
for循環(huán)
在交互式環(huán)境中輸入如下命令:
list_1 = [1, 2, 3] list_2 = [4, 5, 6] list_3 = [] for index, item in enumerate(list_1): ? ? list_3.append(item + list_2[index]) print(list_3)
輸出:
[5, 7, 9]
map()
map() 是 Python 內(nèi)置的高階函數(shù),它接收一個函數(shù) f 和一個 list,并通過把函數(shù) f 依次作用在 list 的每個元素上,得到一個新的 list 并返回。
在交互式環(huán)境中輸入如下命令:
list_1 = [1, 2, 3] list_2 = [4, 5, 6] list_3 = list(map(lambda x, y: x + y, list_1, list_2)) print(list_3)
輸出:
[5, 7, 9]
numpy
在交互式環(huán)境中輸入如下命令:
list_1 = [1, 2, 3] list_2 = [4, 5, 6] import numpy as np list_3 = list(np.add(list_1, list_2)) print(list_3)
輸出:
[5, 7, 9]
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
搭建python django虛擬環(huán)境完整步驟詳解
這篇文章主要介紹了搭建python django虛擬環(huán)境完整步驟詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07Python爬蟲之PhantomJS和handless的使用詳解
這篇文章主要介紹了Python爬蟲之PhantomJS和handless的使用詳解,PhantomJS是一個基于Webkit的headless瀏覽器,它會把網(wǎng)站加載到內(nèi)存并使用webkit來編譯解釋執(zhí)行頁面上的JavaScript代碼,由于不進行css和gui渲染、不展示圖形界面,需要的朋友可以參考下2023-09-09如何在Cloud Studio上執(zhí)行Python代碼?
這篇文章主要介紹了如何在Cloud Studio上執(zhí)行Python代碼?,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08tensorflow模型的save與restore,及checkpoint中讀取變量方式
這篇文章主要介紹了tensorflow模型的save與restore,及checkpoint中讀取變量方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05NumPy隨機數(shù)據(jù)分布與Seaborn可視化詳解
數(shù)據(jù)分布是指數(shù)據(jù)集中所有可能值出現(xiàn)的頻率,并用概率來表示,它描述了數(shù)據(jù)取值的可能性,Seaborn 是一個基于 Matplotlib 的 Python 數(shù)據(jù)可視化庫,用于創(chuàng)建統(tǒng)計圖表,本文就給大家詳細的介紹一下NumPy隨機數(shù)據(jù)分布與Seaborn可視化,需要的朋友可以參考下2024-05-05使用Python在Excel中創(chuàng)建和取消數(shù)據(jù)分組
Excel中的分組是一種通過添加層級結(jié)構(gòu)將相鄰行或列組織在一起的功能,當分組完成后,用戶可以通過折疊或展開數(shù)據(jù)組來簡化數(shù)據(jù)視圖,這篇博客將介紹如何使用Python在Excel中創(chuàng)建或取消數(shù)據(jù)分組,需要的朋友可以參考下2025-02-02