开始于:
import pandas as pd
lis1= [['apples'],['bananas','oranges','cinnamon'],['pears','juice']]
lis2= [['john'],['stacy'],['ron']]
pd.DataFrame({'fruits':lis1,'users':lis2})
fruits users
0 [apples] [john]
1 [bananas, oranges, cinnamon] [stacy]
2 [pears, juice] [ron]
最后我想说:
lis3= ['apples','bananas','oranges','cinnamon','pears','juice']
lis4= ['john','stacy','stacy','stacy','ron','ron']
pd.DataFrame({'fruits': lis3, 'users':lis4})
fruits users
0 apples john
1 bananas stacy
2 oranges stacy
3 cinnamon stacy
4 pears ron
5 juice ron
首先,我需要创建一个新的dataframe,其中每个项都位于自己的行中。其次,name变量需要根据“水果”的数量进行重复。看看这个例子,约翰有一个水果,而斯泰西有5个水果——所以在用户名下,斯泰西必须重复5次
假设
lis1
和lis2
具有相同数量的元素,则可以在压缩列表后使用列表理解来实现这一点下面的代码生成以下输出:
itertools
如果您只有2列,这也适用
generator
下面是一个包含大量堆叠和拆垛的解决方案:
开始于:
用途:
相关问题 更多 >
编程相关推荐