首页 > 解决方案 > 使用 sqlite 访问 Pandas DF

问题描述

我从两个包含带有 cvid 统计信息的表格的网站上大致抓取了 2 个表格来运行分析。

我想知道是否有办法使用 sqlite3 按国家/地区合并这两个 daframe?

我的主要目标是将它作为数据库,但我似乎无法在线找到解决方案。

我是否应该先尝试将它们转换为 db,然后按国家/地区合并它们?

我应该创建一个数据库并创建两个表来存储它们吗?

我不确定什么是最好的程序。

标签: pythondatabasesqlite

解决方案


您可以直接合并数据框pandas

df1 = connect_main()
df2 = connect_side()

df_out = pd.merge(
    df1, df2, left_on="Country,Other", right_on="location", how="outer"
)

pd.set_option("display.float_format", lambda x: "%.1f" % x)
print(df_out)

印刷:

              Country,Other   TotalCases  NewCases TotalDeaths NewDeaths TotalRecovered NewRecovered ActiveCases Serious,Critical Tot Cases/1M pop Deaths/1M pop   TotalTests Tests/\n1M pop\n      Population     geoid                          location last_updated  total_vaccinations   population  people_vaccinated  people_fully_vaccinated
0                       USA   33,565,079   +14,964    597,216       +270     26,569,250      +11,112   6,398,613            8,750          100,896         1,795  460,635,096        1,384,662    332,669,677        NaN                               NaN          NaN                 NaN          NaN                NaN                      NaN
1                     India   23,663,494  +323,068    257,754     +3,529     19,673,714     +297,064   3,732,026            8,944           17,004           185  307,583,991          221,022  1,391,642,201        IND                             India   2021-05-09         168304868.0 1366417754.0        133854676.0               34450192.0
2                    Brazil   15,285,048              425,711                13,847,191                1,012,146            8,318           71,473         1,991   46,834,128          218,998    213,856,608        BRA                            Brazil   2021-05-07          46875460.0  211049527.0         31722544.0               15152916.0

...

228                  Total:          721                    15                      706                        0                0                                                                                    NaN                               NaN          NaN                 NaN          NaN                NaN                      NaN
229                  Total:  160,851,977  +526,108   3,339,100    +8,181    139,610,349     +574,212  17,902,528          105,339         20,635.8         428.4                                                     NaN                               NaN          NaN                 NaN          NaN                NaN                      NaN
230                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       CPV                        Cape Verde   2021-03-24              2184.0     549935.0             2184.0                      NaN
231                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       TCA          Turks and Caicos Islands   2021-04-11             25039.0      38191.0            15039.0                  10000.0
232                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       TLS                             Timor   2021-04-14              2629.0    1293119.0             2629.0                      NaN
233                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       NRU                             Nauru   2021-04-15               700.0      12581.0              700.0                      NaN
234                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       BRN                            Brunei   2021-04-23             10715.0     433285.0            10715.0                      NaN
235                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       COD      Democratic Republic of Congo   2021-04-25              1700.0   86790567.0             1700.0                      NaN
236                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       TON                             Tonga   2021-04-26              5367.0     104494.0             5367.0                      NaN
237                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       VCT  Saint Vincent and the Grenadines   2021-05-01             14526.0     110589.0                NaN                      NaN
238                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       GBR                    United Kingdom   2021-05-08          53041048.0   66834405.0         35371669.0               17669379.0
239                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       CIV                     Cote d'Ivoire   2021-05-09            262639.0   25716544.0           262639.0                      NaN
240                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       CUW                           Curacao   2021-05-09            109444.0     157538.0            77141.0                  32303.0
241                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       KOR                       South Korea   2021-05-09           4181003.0   51709098.0          3674729.0                 506274.0
242                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       ARE              United Arab Emirates   2021-05-09          11145934.0    9770529.0                NaN                      NaN
243                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN       USA                     United States   2021-05-09         259716989.0  331811257.0        152116936.0              114258244.0
244                     NaN          NaN       NaN         NaN       NaN            NaN          NaN         NaN              NaN              NaN           NaN          NaN              NaN             NaN  OWID_WRL                             World          NaN        1297259952.0 7673533970.0        641081197.0              309613453.0

注意:某些国家/地区名称不“匹配”。例如“USA”和“United States” - 所以你需要明确地重命名它们才能正确合并。


推荐阅读