熊猫:使用一些不同的索引和列添加(求和)数据帧

时间:2018-05-25 14:51:01

标签: python pandas dataframe

我正在尝试使用Pandas的功能将其他数据帧添加到一起,但我尝试这样做的方式并没有真正解决。通常,两个数据帧将具有相同的几行(应添加其值),以及一些不同的行(并且应该连接在一起)。但是,索引也可能不同。如下:

func (d *Tom) Get() {
    //passengersFile, err := http.Get("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=KLMH2VFJ0LCFNOX5")
    resp, err := http.Get("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=KLMH2VF0LCFNOX5")
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    //fmt.Printf("%#v\n", resp)

    dec := json.NewDecoder(resp.Body)
    if dec == nil {
        panic("Failed to start decoding JSON data")
    }

    json_map := make(map[string]interface{})

    err = dec.Decode(&json_map)
        for k, v := range json_map {
            if k == "Meta Data"{
                    continue
            }
            fmt.Printf("key[%s] value[%s]\n", k, v)
        }
    if err != nil {
        panic(err)
    }

        d.Data["json"] = &json_map
    d.ServeJSON()
}

我尝试了一些事情,但并没有真正让它工作,因为在生成nans之后会调用任何not_null或fill_na内容。

1 个答案:

答案 0 :(得分:0)

new_idx = df1.index.union(df2.index)
new_cols = df2.columns.union(df2.columns)
new_df = df1.loc[new_idx, new_cols].fillna(0) + df2.loc[new_idx, new_cols].fillna(0)

编辑: 实际上你可以使用

new_df = df1.add(df2, fill_value=0)