<p>使用merge+str</p>
<pre><code>import pandas as pd
df = pd.DataFrame([
['30','f2b6769129','97bb97bebc'],
['46','ca0464878d','e276539bc2'],
['51','62f2905a7a','8dfabd6d61'],
['57','21032ca3bc','1f7e5e0c6e'],
['62','f7e7fdd8ce','eb6cf4af99'],
['64','f536998bbb','7fc39eacd1'],
['80','6069198f63','d873a71620'],
['99','0ba61a6f66','a6cf7af3eb'],
['102','e8b579b776','c8048fd459']]
)
df2 = pd.DataFrame([
['30','Arthur','Anderson'],
['46','Teresa','Johns'],
['51','Louise','Hurwitz'],
['57','Timothy','Addy'],
['62','Jeffery','Wilson'],
['64','Andres','Tuller'],
['80','Daniel','Green'],
['99','Frank','Nader'],
['102','Faith','Young']]
)
keys = ['CUSTOMER_KEY','LAST_NAME','FIRST_NAME']
df.columns = keys
df2.columns = keys
df_join = pd.merge(df, df2, on="CUSTOMER_KEY", suffixes=['_1', '_2'])
df_join['LAST_NAME'] = df_join['LAST_NAME_2'].str.slice(0,3)+df_join['LAST_NAME_1'].str.slice(0,5)
df_join['FIRST_NAME'] = df_join['FIRST_NAME_2'].str.slice(0,3)+df_join['FIRST_NAME_1'].str.slice(0,5)
result_df = df_join[keys]
result_df.head()
</code></pre>