我有一个看起来像这样的数据框:
Col1 Col2
row1 A1 A2
row2 A2 A3
row3 A2 A4
row4 A3 A5
row5 B1 B2
row6 B2 A3
我需要确定Col1的值(它们永远不会显示为Col2的值)(我们将这些值称为MasterValues),并生成与MasterValue相关的所有值的列表或逗号分隔字符串。在此示例中,A1和B1将是MasterValues。
预期输出:
Col1 Col2
row1 A1 A2,A3,A4,A5
row2 B1 B2,A3
请注意,有成千上万的行,并且某些值(例如本示例中的A3)用于多个MasterValue。还需要注意的重要一点是,在Col1中,很多值(包括本例中的A2)中多次出现(包括一些MasterValues)。
我想到的第一步是将DF按Col1分组。然后,我想循环并适当地追加Col2。我尝试了很多变化,这是我得到的最接近的变化:
DF = pandas.read_sql(command, connection)
DF2 = DF
DF = DF.groupby('col1', as_index=False).agg({col2: lambda x: ','.join(x)}))
for xrow in DF.itertuples():
for yrow in DF2.itertuples():
if yrow[1] in xrow[2]:
DF.at[xrow[0], 'col2'] = DF.at[xrow[0], 'col2'] + ',' + yrow[2]
但是,这仍然不正确。我仍然最终在Col1中得到了一些不是MasterValues的值。我搜寻了,搜寻了,并且以为无济于事。任何人都可以帮助我围绕完成此工作所需的逻辑吗?
答案 0 :(得分:0)
您要使用networkx吗?
FileOutputStream
输出:
@Override
protected void onDestroy() {
super.onDestroy();
recyclerView.setAdapter(null);
}