2024-05-13 19:53:55 发布
网友
我有两个数据帧-Final_df和Cust_LCK。在最后的_df数据帧中,我有一列名为“Cust Group”的空值,另一列名为“Acct”#(两个数据帧之间的链接)。另一个数据帧(Cust_LCK)有一个标题为“Acct#”的列,其中包含唯一的帐号,“Cust Group”包含帐号所属的客户组
如何与客户群体一起填写最终的_df中的空白
您可以使用^{}将值从Cust_LCK映射到Final_df列
Cust_LCK
Final_df
import pandas as pd df = pd.DataFrame({'A': [5, 6, 7, 8, 9], 'B': [1, 2, 3, 4, 5]}) Final_df = pd.DataFrame({ 'Acct#' : range(0, 5), }) Final_df['Cust Group'] = '' Cust_LCK = pd.DataFrame({ 'Acct#' : range(5, 0, -1), 'Cust Group': range(10, 15) }) Final_df['Cust Group'] = Final_df['Acct#'].map(Cust_LCK.set_index('Acct#')['Cust Group'])
如果在Cust_LCK列的值上有重复项,请仅将其中一个保留为pandas.DataFrame.drop_duplicates():
Final_df['Cust Group'] = Final_df['Acct#'].map(Cust_LCK.drop_duplicates(subset['Acct#']).set_index('Acct#')['Cust Group'])
如果Cust_LCK中的重复行具有不同的Cust Group值,请使用pandas.DataFrame.merge()保留它们:
Cust Group
Final_df = Final_df.merge(Cust_LCK[['Acct#', 'Cust Group']], how='left', on=['Acct#']).drop('Cust Group_x', axis=1).rename(columns={'Cust Group_y': 'Cust Group'})
import pandas as pd df = pd.DataFrame({'A': [5, 6, 7, 8, 9], 'B': [1, 2, 3, 4, 5]}) Final_df = pd.DataFrame({ 'Acct#' : range(0, 5), }) Final_df['Cust Group'] = '' print(Final_df) ''' Acct# Cust Group 0 0 1 1 2 2 3 3 4 4 ''' Cust_LCK = pd.DataFrame({ 'Acct#' : [4, 4, 3, 2, 1], 'Cust Group': range(10, 15) }) Cust_LCK['Group'] = '' print(Cust_LCK) ''' Acct# Cust Group Group 0 4 10 1 4 11 2 3 12 3 2 13 4 1 14 ''' Final_df = Final_df.merge(Cust_LCK[['Acct#', 'Cust Group']], how='left', on=['Acct#']).drop('Cust Group_x', axis=1).rename(columns={'Cust Group_y': 'Cust Group'}) print(Final_df) ''' Acct# Cust Group 0 0 NaN 1 1 14.0 2 2 13.0 3 3 12.0 4 4 10.0 5 4 11.0 '''
如果不想在合并后删除和重命名列。在合并之前删除Final_df的Cust Group列
您可以使用^{} 将值从
Cust_LCK
映射到Final_df
列如果在
Cust_LCK
列的值上有重复项,请仅将其中一个保留为pandas.DataFrame.drop_duplicates():如果
Cust_LCK
中的重复行具有不同的Cust Group
值,请使用pandas.DataFrame.merge()保留它们:如果不想在合并后删除和重命名列。在合并之前删除
Final_df
的Cust Group
列相关问题 更多 >
编程相关推荐