Python熊猫,使用这些属性从2个数据框构建数据框
我需要解决此问题。Python熊猫,使用这些属性从2个数据框构建数据框
我需要从两个数据框构建一个完整的数据框,但如果需要,只包含来自第二个数据框的某些信息。
例:
DF1:
MATERIAL_N° Description DATE DUE
0 123123300 Lightbulb X 01/05/2018
1 220466 Lightbulb Y 04/04/2018
2 220000 Lightbulb Z 07/07/2018
3 1241241 Lightbulb A 02/01/2019
4 7775447 Lightbulb B 02/01/2019
DF2:
BG GROUP MATERIAL N° TRANSIT TIME
0 9001 123123300 45D
1 9002 220466 30D
2 9004 220000 30D
3 9003 44124 20D
4 9000 2512222 15D
5 9002 1241241 40D
预期的结果DF3:
MATERIAL N° Description DATE DUE BG GROUP TRANSIT TIME
0 123123300 Lightbulb X 01/05/2018 9001.0 45D
1 220466 Lightbulb Y 04/04/2018 9002.0 30D
2 220000 Lightbulb Z 07/07/2018 9004.0 30D
3 1241241 Lightbulb A 02/01/2019 9002.0 40D
4 7775447 Lightbulb B 02/01/2019 NaN NaN
我希望这个例子是非常明显的,我需要制作大型数据框(DF3)广告只有在DF2有信息可用的情况下,否则请留空该位置。
谢谢! JL
您需要的参数合并左
df1.merge(df2, how = 'left')
MATERIAL N° Description DATE DUE BG GROUP TRANSIT TIME
0 123123300 Lightbulb X 01/05/2018 9001.0 45D
1 220466 Lightbulb Y 04/04/2018 9002.0 30D
2 220000 Lightbulb Z 07/07/2018 9004.0 30D
3 1241241 Lightbulb A 02/01/2019 9002.0 40D
4 7775447 Lightbulb B 02/01/2019 NaN NaN
我之前使用过merge和concat方法,这基本上是我要求的,但我错过了要求一点如果DF2的数量多于2列,我需要按照特定的顺序添加列。 EX:DF2.columns是(BG GROUP,MATERIAL N°,ETA,ETD,TRANSIT TIME,FLAGS),我需要获得DF3.columns =(MATERIAL N°,DESCRIPTION,DATE DUE,BG_GROUP,TRANSIT_TIME) – Javilg
如果df2有在最终数据框中不需要更多的列,可以使用df1.merge(df2 [['BG GROUP','MATERIAL N','TRANSIT TIME']],how ='left)选择df2的列。 – Vaishali
感谢Vaishali !!我想大熊猫总能工作,我需要坐下来与文件.... – Javilg
你尝试''合并? https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.merge.html – Wen