2019-03-05
阅读量:
692
根据其他列的条件连接一列的字符串
我有一个数据框,我想删除名为“sample”的列上的重复项,并将基因和状态列中的字符串信息添加到新列,如附图所示。
下面是数据框架的修改版本。行中的基因被实际的基因名称替换
在这里,df是你的Pandas DataFrame。
def new_1(g):
return ','.join(g.gene)
def new_2(g):
return ','.join(g.gene + '-' + g.status)
new_1_data = df.groupby("sample").apply(new_1).to_frame(name="new_1")
new_2_data = df.groupby("sample").apply(new_2).to_frame(name="new_2")
new_data = pd.merge(new_1_data, new_2_data, on="sample")
new_df = pd.merge(df, new_data, on="sample").drop_duplicates("sample")
如果您希望将“sample”作为列而不是索引,则添加
new_df = new_df.reset_index(drop=True)
最后,由于您没有指定要保留哪些原始重复行,我只使用Pandas的默认行为并删除除第一次出现之外的所有行为。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论