Python,获取多个列表并放入 pd.Dataframe
Posted
技术标签:
【中文标题】Python,获取多个列表并放入 pd.Dataframe【英文标题】:Python, Take Multiple Lists and Putting into pd.Dataframe 【发布时间】:2020-08-17 12:26:51 【问题描述】:我已经看到这个问题(like this one) 的各种答案,但未能成功地将我的列表放入一个数据框中。我有一个标题列表(意为列标题),然后是一个包含多条记录的变量:
list1 = ['Rank', 'Athlete', 'Distance', 'Runs', 'Longest', 'Avg. Pace', 'Elev. Gain']
list2 = (['1', 'Jack', '57.4 km', '4', '21.7 km', '5:57 /km', '994 m']
['2', 'Jill', '34.0 km', '2', '17.9 km', '5:27 /km', '152 m']
['3', 'Kelsey', '32.6 km', '2', '21.3 km', '5:46 /km', '141 m'])
当我尝试类似:
df = pd.DataFrame(list(zip(['1', 'Jack, '57.4 km', '4', '21.7 km', '5:57 /km', '994 m'],
# ['2', 'Jill', '34.0 km', '2', '17.9 km', '5:27 /km', '152 m'])))
它将所有属性列为自己的行,如下所示:
0 1
0 1 2
1 Jack Jill
2 57.4 km 34.0 km
3 4 2
4 21.7 km 17.9 km
5 5:57 /km 5:27 /km
6 994 m 152 m
如何将其放入以list1
作为标题的框架中,而其余数据则整齐排列?
【问题讨论】:
【参考方案1】:将您的第二个列表更改为列表列表,然后
df = pd.DataFrame(columns = list1, data = list2)
【讨论】:
将某些内容更改为列表列表的最佳方法是什么? 您的 list2 应该类似于list2 = [['1', 'Jack', '57.4 km', '4', '21.7 km', '5:57 /km', '994 m'], ['2', 'Jill', '34.0 km', '2', '17.9 km', '5:27 /km', '152 m'], ['3', 'Kelsey', '32.6 km', '2', '21.3 km', '5:46 /km', '141 m']]
我把它扔在那里:i=0 new_list=[] while i<len(myrow): new_list.append(list2[i:i+7]) i+=7
,但它只返回最后一行。有趣【参考方案2】:
给定
list1 = ['Rank', 'Athlete', 'Distance', 'Runs', 'Longest', 'Avg. Pace', 'Elev. Gain']
list2 = (['1', 'Jack', '57.4 km', '4', '21.7 km', '5:57 /km', '994 m'],
['2', 'Jill', '34.0 km', '2', '17.9 km', '5:27 /km', '152 m'],
['3', 'Kelsey', '32.6 km', '2', '21.3 km', '5:46 /km', '141 m'])
做
pd.DataFrame(list2, columns=list1)
返回
Rank Athlete Distance Runs Longest Avg. Pace Elev. Gain
0 1 Jack 57.4 km 4 21.7 km 5:57 /km 994 m
1 2 Jill 34.0 km 2 17.9 km 5:27 /km 152 m
2 3 Kelsey 32.6 km 2 21.3 km 5:46 /km 141 m
【讨论】:
以上是关于Python,获取多个列表并放入 pd.Dataframe的主要内容,如果未能解决你的问题,请参考以下文章
试图将两个 json 数据放入 python 列表但收到错误消息