python - 如何添加两个DataFrame

标签 python pandas dataframe

我有 1 号数据帧

给事物定价

0 1 笔

1 2 铅笔

2 6 苹果

我有 2 号数据帧:

给事物定价

0 5 笔

1 6 支铅笔

2 10 杯

我想加入两个 DataFrame,我想看到这个 DataFrame:

DataFrame 编号 1 + DatFrame 编号 2

给事物定价

0 6 笔

1支8号铅笔

2 6 苹果

3 10 杯

我该怎么做?

这段代码:

import pandas as pd

df = pd.DataFrame({'Things': ['pen', 'pencil'], 'Price': [1, 2]})


series = pd.Series([1,2], index=[0,1])

df["Price"] = series
df.loc[2] = [6, "apple"]
print("DataFrame number 1")
print(df)

df2 = pd.DataFrame({'Things': ['pen', 'pencil'], 'Price': [1, 2]})
series = pd.Series([5,6], index=[0,1])

df2["Price"] = series

df2.loc[2] = [10, "cup"]

print("DataFrame number 2")
print(df2)

最佳答案

您还可以使用concatenate 函数 沿axis = 0 组合两个dataframes,然后group by 列并对它们求和

df3 = pd.concat([df, df2], axis=0).groupby('Things').sum().reset_index()
df3

输出:

    Things  Price
0   apple      6
1     cup     10
2     pen      6
3  pencil      8

关于python - 如何添加两个DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44606317/

相关文章:

python - 如果特定年份的列中有 NaN 值,则删除行

python - 验证 'type' json 架构失败

python - 如何将大数据集划分为n个子集并保持类别比例

python - 如何对某个值的第一个实例在该值的其他实例中求平均值?

python - 如何按职位过滤数据集?

用 id 替换另一个数据帧中的 NA 值

python - 无法编码/解码 pprint 输出

python - 中位数的中位数选择python

python - U-SQL + Pandas Merge_asof

如果任何特定列集中的值满足特定条件,则返回整行