将Python列表转换为Pandas DataFrame

编写一个Python程序,将列表转换为Pandas DataFrame,并附带一个示例。在此示例中,我们首先声明了一个水果字符串列表。接下来,我们使用pandas DataFrame函数将列表转换为DataFrame。

import pandas as pd

fruitList = ['kiwi', 'orange', 'banana', 'berry', 'mango', 'cherry']
print("List Items = ", fruitList)

df = pd.DataFrame(fruitList)
print(df)
List Items =  ['kiwi', 'orange', 'banana', 'berry', 'mango', 'cherry']
        0
0    kiwi
1  orange
2  banana
3   berry
4   mango
5  cherry

DataFrame有一个列,用于指定列名,以及一个索引,用于指定索引值。在这里,我们将列名设置为“Fruits”,并将索引值设置为一个包含六个整数的列表。

import pandas as pd

fruitList = ['kiwi', 'orange', 'banana', 'berry', 'mango', 'cherry']

print("List Items = ", fruitList)

df = pd.DataFrame(fruitList, columns = ['Fruits'],
                  index = [1, 2, 3, 4, 5, 6])

print(df)
List Items =  ['kiwi', 'orange', 'banana', 'berry', 'mango', 'cherry']
   Fruits
1    kiwi
2  orange
3  banana
4   berry
5   mango
6  cherry

如何将Python列表转换为Pandas DataFrame?

我们声明了两个列表:水果列表和订单列表。接下来,我们使用zip 函数将这两个列表打包,然后pandas DataFrame函数将它们转换。

import pandas as pd

fruitList = ['kiwi', 'orange', 'banana', 'berry', 'mango', 'cherry']

print("List Items = ", fruitList)

ordersList = [100, 2000, 5000, 400, 8000, 12000]

print("List Items = ", ordersList)

df = pd.DataFrame(list(zip(fruitList, ordersList)),
                  columns = ['Fruits', 'Orders'],
                  index = ['a', 'b', 'c', 'd', 'e', 'f'])

print(df)
List Items =  ['kiwi', 'orange', 'banana', 'berry', 'mango', 'cherry']
List Items =  [100, 2000, 5000, 400, 8000, 12000]
   Fruits  Orders
a    kiwi     100
b  orange    2000
c  banana    5000
d   berry     400
e   mango    8000
f  cherry   12000

DataFrame函数还可以转换嵌套列表。

import pandas as pd

fruitList = [['kiwi', 100], ['orange', 3500], ['banana', 2000],
             ['berry', 1500], ['mango', 5000],['cherry', 9000]]

print("List Items = ", fruitList)

df = pd.DataFrame(fruitList, columns = ['Fruits', 'Orders'])

print(df)
Convert List To Pandas DataFrame

这个嵌套列表与其他列表不同,如果你将这个嵌套列表转换为DataFrame,你会得到以下结果。

import pandas as pd

emplist = [['Jhon', 'Xi', 'Ram', 'Dave', 'Nancy'],
           ['Miller', 'Jing', 'KK', 'Williams', 'Cook'],
           [40, 52, 25, 37, 29]]

df = pd.DataFrame(emplist)
print(df)

print('\n========')
df1 = pd.DataFrame(emplist, index = ['First_Name', 'Last_Name', 'Age'])
print(df1)
        0     1    2         3      4
0    Jhon    Xi  Ram      Dave  Nancy
1  Miller  Jing   KK  Williams   Cook
2      40    52   25        37     29

========
                 0     1    2         3      4
First_Name    Jhon    Xi  Ram      Dave  Nancy
Last_Name   Miller  Jing   KK  Williams   Cook
Age             40    52   25        37     29

然而,pandas DataFrame中有一个转置函数,可以将上述嵌套列表转换为有意义的形式。

import pandas as pd

emplist = [['Jhon', 'Xi', 'Ram', 'Dave', 'Nancy'],
           ['Miller', 'Jing', 'KK', 'Williams', 'Cook'],
           [40, 52, 25, 37, 29]]

print("List Items = ", emplist)

df = pd.DataFrame(emplist).transpose()

df.columns = ['First Name', 'Last Name', 'Age']

print(df)

df1 = pd.DataFrame(emplist)

print(df1)
List Items =  [['Jhon', 'Xi', 'Ram', 'Dave', 'Nancy'], ['Miller', 'Jing', 'KK', 'Williams', 'Cook'], [40, 52, 25, 37, 29]]
  First Name Last Name Age
0       Jhon    Miller  40
1         Xi      Jing  52
2        Ram        KK  25
3       Dave  Williams  37
4      Nancy      Cook  29
        0     1    2         3      4
0    Jhon    Xi  Ram      Dave  Nancy
1  Miller  Jing   KK  Williams   Cook
2      40    52   25        37     29