Change append method to concat in pandas

Viewed 18

I have a code to get data from capterra api

for i in range(1, 2):
#     time.sleep(10)
    last_date = date.today() - timedelta(days=i)
    print(last_date)
    data = pd.DataFrame()
    for i in category2:
        url = "https://public-api.capterra.com/v1/clicks?start_date=" + str(last_date) + "&end_date=" + str(
            last_date) + "&category={}".format(i)
        headers = {"Authorization": ""}
        r = requests.get(url=url, headers=headers)

        # Data extract to csv
        cp_data_df = pd.DataFrame()
        if r.status_code != 200:
            print("\n*** something went wrong *** ", r)
            r.raise_for_status()
        else:
            response_dict = json.loads(r.text)
            if "data" in response_dict and response_dict["data"]:
                for record in response_dict["data"]:
                    properties_keys = record.keys()
                    cp_data_df = cp_data_df.append(record, ignore_index=True)

                grp_instances = ["category"]
                cp_data_df = cp_data_df.groupby(grp_instances).sum("cost").reset_index()
                cp_data_df["Date"] = last_date
            data = data.append(cp_data_df, ignore_index=True)

    data2 = data.drop_duplicates(subset=['category'])
    data2.Date = pd.to_datetime(data2.Date).values.astype('datetime64[D]')

And now i am getting errors from pandas thet i nead to change append method to concat in this two lines

cp_data_df = cp_data_df.append(record, ignore_index=True)
data = data.append(cp_data_df, ignore_index=True)

Ofcourse i can use older version of pandas, but can someone help me to rewrite code?

1 Answers

Just use:

cp_data_df = pd.concat([cp_data_df, record], ignore_index=True)
data = pd.concat([data, cp_data_df], ignore_index=True)
Related