Python:在文本文件中写入 pd.Series 的所有组合

标签 python pandas combinations

我有几个 Pandas 系列的独特字符串:

    First Series
    P0A8V2
    P36683
    P15254

    Second Series
    P09831
    P0AFG8

我想编写一个如下所示的文本文件(制表符分隔符):

P0A8V2 P36683
P0A8V2 P15254
P36683 P15254 
P09831 P0AFG8

所以在系列中,每个对象都与其他对象组合恰好一次。顺序无关紧要。然后下一个系列马上开始。

有没有简单的方法来做到这一点?

更新:

字符串位于 DataFrame 的索引中。我使用 df.index.values 访问它们。 DataFrame 在 df_list 中。

def Cluster_Network(df_list):
    combi_list = []
    for cluster in df_list:
       combi_list.append(tuple(itertools.combinations(cluster.index.values, 2)))
    return combi_list

我得到一个包含对的元组列表。

  [('P77717', 'P10378'),
  ('P18393', 'P77444'),
  ('P18393', 'P0AD44'),
  ('P18393', 'P10378'),
  ('P77444', 'P0AD44'),
  ('P77444', 'P10378'),
  ('P0AD44', 'P10378')),
 (('P77562', 'P41039'),)]

如何从该列表中写入文本文件?

最佳答案

看起来你快到了。

combi_list = []
for cluster in df_list:
    combi_list.append(pd.DataFrame(list(itertools.combinations(cluster.index, 2))))
result_df = pd.concat(combi_list, ignore_index=True)
result_df.to_csv(filename, sep='\t', index=False, header=False) 

这将生成如下文件:

P0A8V2  P36683
P0A8V2  P15254
P36683  P15254
P09831  P0AFG8

关于Python:在文本文件中写入 pd.Series 的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38816646/

相关文章:

python - 查询 MySQL,其中 XML 为值

python - Tomcat 错误日志的正则表达式

python - 在python中迭代未知数量的嵌套循环

python - 使用 itertools 从列表中进行组合

python - 如何使用具有非常不同属性的两种类型的用户设置 Django 模型

Windows 上的 Python 包安装(触发器)

python - 在一对多加入 Pandas 中分配值(value)

node.js - JSON 文件中数据的所有可能组合

python - 如何更改 python 3 pandas.DataFrame 的表形式?

python - 如何在 python 中自动将条件组合在一起?