我有两个数据框df
和df_copy
。我想从中复制数据df_copy
,但前提是数据也相同。我怎么做?
import pandas as pd
d = {'Nameid': [100, 200, 300, 100]
, 'Name': ['Max', 'Michael', 'Susan', 'Max']
, 'Projectid': [100, 200, 200, 100]}
df = pd.DataFrame(data=d)
display(df.head(5))
df['nameid_index'] = df['Nameid'].astype('category').cat.codes
df['projectid_index'] = df['Projectid'].astype('category').cat.codes
display(df.head(5))
df_copy = df.copy()
df.drop(['Nameid', 'Name', 'Projectid'], axis=1, inplace=True)
df = df.drop([1, 3])
display(df.head(5))
df
df_copy
我想要的是
我看着熊猫合并101
df.merge(df_copy, on=['nameid_index', 'projectid_index'])
但是我得到了这个结果
同一行是两次,我只想要一次。
DataFrame.drop_duplicates
首先使用:
df1 = (df.drop_duplicates(['nameid_index', 'projectid_index'])
.merge(df_copy, on=['nameid_index', 'projectid_index']))
如果需要通过两个DataFrame
s中列名的交集合并,on
则应删除参数:
df1 = df.drop_duplicates(['nameid_index', 'projectid_index']).merge(df_copy)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句