擅长:python、mysql、java
<p>这应该起作用:</p>
<pre><code>import pandas as pd
df = pd.DataFrame(
[['tom', 28, "tesla", "model s" ],
['nick', 30, "ford", "mustang"],
['juli', 56, "tesla", "model s"]] ,
columns = ['PersonName', 'PersonAge', "Car", "CarModel"]
)
df['Comb'] = df['Car'] + "," + df['CarModel']
car_df = pd.DataFrame({'CarId': range(1, len(df['Comb'].unique())+1), 'Comb': df['Comb'].unique()})
car_df = car_df.merge(df[['Comb', 'Car', 'CarModel']], on=['Comb']).drop_duplicates(subset=['Comb']).drop(columns=['Comb'])
df = df.merge(car_df, on=['Car', 'CarModel']).drop(columns=['Comb', 'Car', 'CarModel'])
car_df = car_df.set_index('CarId')
print(df)
print()
print(car_df)
</code></pre>
<p>输出:</p>
<pre><code> PersonName PersonAge CarId
0 tom 28 1
1 juli 56 1
2 nick 30 2
Car CarModel
CarId
1 tesla model s
2 ford mustang
</code></pre>