在Pandas行中生成逗号分隔字符串的组合。
问题的出现原因是需要将一个逗号分隔的字符串生成组合,并将生成的组合作为新的一行添加到pandas的DataFrame中。解决方法是使用列表推导式和flatten,将每个字符串分割成子字符串,并将每个子字符串与ID值一起添加到新的DataFrame中。
代码中的`chunks`函数是一个生成器函数,用于将可迭代对象分成固定大小的组块。它使用`deque`来存储值,并在需要时自动删除多余的元素。
在主代码中,使用列表推导式和`chunks`函数来生成组合。通过使用`zip`函数将`df['ID']`和`df['Values']`进行迭代,每次迭代将字符串分割成子字符串,并将每个子字符串与ID值一起添加到新的DataFrame中。
最终生成的DataFrame的列名分别为'ID','Col1'和'Col2'。如果某一行的子字符串数量不足2,则对应的列将填充为空字符串。
整体上,这段代码通过使用列表推导式和自定义的`chunks`函数,以较少的代码行数实现了将逗号分隔的字符串生成组合并添加到pandas的DataFrame中的功能。