python - 是否可以合并两个有一些相似之处的表
问题描述
我是一个新的 python 用户,并试图合并具有相似信息的一列的数据框。
Data 1 Data2
DocID GroupID DocID ClassID
122 A12 121 A
122 A24 121 B
123 C12 122 C
124 C23 123 C
125 A12 123 D
我希望结果是这样的
Results
DocID 121 122 123 124 125
GroupID ClassID
Null A 1 0 0 0 0
Null B 1 0 0 0 0
A12 C 0 1 0 0 0
A24 C 0 1 0 0 0
C12 C 0 0 1 0 0
C12 D 0 0 1 0 0
A12 Null 0 0 0 0 1
实际上,我正在考虑映射功能并删除 Null。
解决方案
使用merge
和get_dummies
df2 = df.merge(df1, on='DocID', how='outer').set_index(['GroupID','ClassID'])
df2 = pd.get_dummies(df2.DocID).sort_index(level=0)
print (df2)
输出:
121 122 123 124 125
GroupID ClassID
NaN A 1 0 0 0 0
B 1 0 0 0 0
A12 NaN 0 0 0 0 1
C 0 1 0 0 0
A24 C 0 1 0 0 0
C12 C 0 0 1 0 0
D 0 0 1 0 0
C23 NaN 0 0 0 1 0
推荐阅读
- spring-integration - 在 SFTP 中将文件传输到一个远程文件夹并需要删除另一个远程文件夹中的相同文件
- java - 完成java测试代码后有什么方法可以回滚redis数据吗?
- django - 为什么在 Python 中子类不能使用 super 调用父类方法
- php - 通过 URL 发送值并重定向到另一个 url
- javascript - Firestore中的查询删除正在删除所有内容,如何解决?
- excel - 如何保存没有宏的Excel文件副本并复制原始文件?
- rfc - IETF RFC 编号对于特定主题是永久的吗?
- python - lambda 函数中的 python 和 python-jose 错误
- maven - 如何使用 Google Cloud 构建执行 Maven 发布插件
- react-native - createMaterialTopTabNavigator 在本机反应中无法在一个屏幕中正确呈现