擅长:python、mysql、java
<p>像这样</p>
<pre><code>from collections import Counter
from collections import defaultdict as dd
import pandas as pd
connection_counter = dd(lambda: Counter()) # count for every drug the time it appears with every other drug
def to_counter(row): #send each row to the connection_counter and add a connection to each value in the row with all other drugs in row
for drug_name in row:
connection_counter[drug_name].update(row)
connection_counter[drug_name].pop(drug_name,None) # so it won't count an appearance with itself
df.apply(lambda x: to_counter(x), axis = 1) #df is the table you have
df1 = pd.DataFrame() # the table you want
for drug_name in connection_counter:
df1 = df1.append(pd.DataFrame(connection_counter[drug_name],index = [drug_name]))
</code></pre>