使用 Pandas 从同名列中提取数据
python 650
原文标题 :Extract data from columns with same name using Pandas
我有一个数据框:
Accepted Accepted Accepted Reject Accepted Reject
ABC IJK JKL XYJ LMN UIO
BCD PQR EFG YVG GHIJ PLK
并希望将其转换为两个数据帧;仅“接受”列之一,其他“拒绝”列
df1-
Accepted Accepted Accepted Accepted
ABC IJK JKL LMN
BCD PQR EFG GHIJ
df2-
Reject Reject
XYJ UIO
YVG PLK
试过了
df1=df["Accepted"]
df2=df["Reject"]
这只给出与该名称匹配的第一列。
回复
我来回复-
jezrael 评论
如果选择一列同名,则选择 DataFrame 中所有同名的列:
df1 = df['Accepted'] df2 = df['Reject']
然后是可能的去重列:
df1.columns = [f'{x}_{i}' for i, x in enumerate(df1.columns, 1)] df2.columns = [f'{x}_{i}' for i, x in enumerate(df2.columns, 1)]
编辑:如果只获取第一个列名,则意味着没有重复的列名,因此可以使用
DataFrame.filter
:df1 = df.filter(like='Accepted') df2 = df.filter(like='Reject')
2年前