程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python兩個數據表中的對應數據相加

編輯:Python

記錄一下自己的學習過程。

有很多省份的數據,想要求全國的綜合。這些數據都分別存在csv裡。如下:

我希望把全部省份加起來, 算一個全國總和。這時候需要用到數據表對應值相加。

代碼如下:

先讀進來一個數據表,比如

df1 是湖北的。

在df1 的基礎上創建一個空表。

df_empty = pd.DataFrame(np.zeros(df1.shape), columns=df1.columns, index=df1.index)

這樣df_empty是

然後寫一個for循環,逐個加進來。

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)

中間有很多打印的內容,其實關鍵的是其中兩句。

dfi = pd.read_csv(os.path.join(result_data_dir, result_list[i]), index_col='year')
這一句保證讀進來的數據索引相同,列相同。

相加,

df_empty = df_empty.add(dfi, fill_value = 0)

這一句可以讓數據表相加,相當於矩陣的點加。

得到最後結果如下

其中fill_value=0,不能省略,因為如果不加,那麼add的時候,會把一些有缺失的格變成缺失,最後加起來會有很多缺失。

看樣子原來沒有的行,比如2010,會自動添加進去。總和數據表裡多了2010這一行。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved