我需要帮助转换数据,如下所示:来自此版本中的数据集 (df1) ID apples oranges pears apples_pears oranges_pears0 1 1 0 0 1 01 2 0 1 0 1 02 3 0 1 1 0 1到如下数据集(df2): ID apples oranges pears0 1 2 0 11 2 1 1 12 3 0 2 2我想要完成的是从列名称中出现“苹果”一词的所有列中获取苹果的总价值。例如,在 df1 中有 2 个列名称,其中出现单词“apple”。如果将第一行中的所有苹果相加,则总共有 2 个。我想要新数据集 (df2) 中的苹果有一列。请注意,appleas_pears 的 1 是每个苹果和梨的 1。
1 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
想法被分成DataFrame
新的2 - 首先通过之前的所有值更改列名称,然后使用by和_
第二个过滤器列通过之后的值更改列,最后通过和每列的总和连接在一起:_
DataFrame.filter
_
concat
df1 = df.set_index('ID')
df2 = df1.filter(like='_')
df1.columns = df1.columns.str.split('_').str[0]
df2.columns = df2.columns.str.split('_').str[1]
df = pd.concat([df1, df2], axis=1).sum(level=0, axis=1).reset_index()
print (df)
ID apples oranges pears
0 1 2 0 1
1 2 1 1 1
2 3 0 2 2
添加回答
举报
0/150
提交
取消