我是Python新手。我想合并两个数据框,我使用了合并,它因为重复而变得太大了。我为我所做的创建了一个示例代码。有没有更好的性能?我真的很欣赏你的想法。
import pandas as pd
data = [['t', 10, 5], ['n', 15, 5], ['j', 14, 66],['t', 10, 8], ['n', 15, 55]]
df1 = pd.DataFrame(data, columns=['Name', 'Age', "HH"])
data = [['t', 10, 100], ['n', 15, 101], ['j', 14, 102],['t', 10, 81], ['n', 15, 81]]
df2 = pd.DataFrame(data, columns=['Name', 'Age', "year"])
res= pd.merge(df2, df, on=['Name',"Age"], how = "inner")
result :
Name Age year HH
0 t 10 100 5
1 t 10 100 8
2 t 10 81 5
3 t 10 81 8
4 n 15 101 5
5 n 15 101 55
6 n 15 81 5
7 n 15 81 55
8 j 14 102 66
我还使用了JOIN,但它没有帮助,并提供了相同的结果。
df1.set_index(['Name','Age'],inplace=True)
df2.set_index(['Name','Age'],inplace=True)
df2.join(df1)
1条答案
按热度按时间kpbwa7wx1#
在上次尝试之后,您已经接近成功了,一旦您设置了新索引,就可以使用
pd.concat
:其输出: