【发布时间】:2016-11-12 21:13:33
【问题描述】:
我有一个如下所示的数据集:
date = ['01/01/2001','02/01/2001']
countries = [['US', 'UK', 'AU'],['CN']]
所以基本上数据应该是这样的:
def flatten(array):
return sum(array,[])
pd.DataFrame({'date': flatten([[date[0]]*3, [date[1]]]), 'country': flatten(countries)})
# Which Returns:
country date
0 US 01/01/2001
1 UK 01/01/2001
2 AU 01/01/2001
3 CN 02/01/2001
上述方法似乎是一种低效的实现方式。 date 和 countries 数组的长度完全相同。基本上date需要重复子数组的长度。
在 Pandas 中是否有一种优雅的方式来执行此操作?还是我需要像我所做的那样对数组进行预处理?
【问题讨论】:
标签: python list pandas list-comprehension