Python 熊猫需要按列合并两个数据帧
我有两个数据帧,第一个比第二个多很多行,并且有一列,如:Python 熊猫需要按列合并两个数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个数据帧,第一个比第二个多很多行,并且有一列,如: A A B B C C 第二种是: A, blue, 1 B, red, 2 C, yellow, 3 我想合并它们,以便得到一个如下所示的数据帧: A, blue, 1 A, blue, 1 B, red, 2 B, red, 2 C, yellow, 3 C, yellow, 3 我该怎么做?df\u left.merge(df\u right,left\u on=left\u column\u name,right\u on=
A
A
B
B
C
C
第二种是:
A, blue, 1
B, red, 2
C, yellow, 3
我想合并它们,以便得到一个如下所示的数据帧:
A, blue, 1
A, blue, 1
B, red, 2
B, red, 2
C, yellow, 3
C, yellow, 3
我该怎么做?df\u left.merge(df\u right,left\u on=left\u column\u name,right\u on=right\u column\u name)
查看df_left.merge(df_right,left_on=left_column_name,right_on=right_column_name)
检查一下您希望所有键都在一个数据帧中,因此您应该使用merge和how='left'参数,如下所示
import pandas as pd
if __name__ == '__main__':
df = pd.DataFrame(data=['A', 'A', 'B', 'B', 'C', 'C'], columns=['alpha'])
df2 = pd.DataFrame(data=[['A', 'blue', 1], ['B', 'red', 2], ['C', 'yellow', 3]], columns=['alpha', 'color', 'idx'])
print(df.merge(df2, how='left', on='alpha'))
输出
alpha color idx
0 A blue 1
1 A blue 1
2 B red 2
3 B red 2
4 C yellow 3
5 C yellow 3
您希望所有键都在一个数据帧中,因此应该使用merge和how='left'参数,如下所示
import pandas as pd
if __name__ == '__main__':
df = pd.DataFrame(data=['A', 'A', 'B', 'B', 'C', 'C'], columns=['alpha'])
df2 = pd.DataFrame(data=[['A', 'blue', 1], ['B', 'red', 2], ['C', 'yellow', 3]], columns=['alpha', 'color', 'idx'])
print(df.merge(df2, how='left', on='alpha'))
输出
alpha color idx
0 A blue 1
1 A blue 1
2 B red 2
3 B red 2
4 C yellow 3
5 C yellow 3
那对你有用吗?我试过了,对我没用,对你有用吗?我试过了,但对我不起作用。