【问题标题】:Python, Take Multiple Lists and Putting into pd.DataframePython,获取多个列表并放入 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 作为标题的框架中,而其余数据则整齐排列?

【问题讨论】:

    标签: python pandas


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-05
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多