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 列表但收到错误消息

Selenium Python:选择一个类中的所有项目并将它们放入列表中?

如何将字符串的多个部分放入列表中?

如何将多个命令行参数的值放入列表中

从数组中下载多个文件,并使用 Python3 放入所需目录

如何在熊猫中做“横向视图爆炸()”[重复]