如何将Pandas数据帧转换为列表
让我们来讨论如何将Pandas数据框架转换为List。首先,让我们创建一个基本数据框架。
import pandas as pd
# Creating a dictionary to store data
data = {'Name':['Tony', 'Steve', 'Bruce', 'Peter' ],
'Age': [35, 70, 45, 20] }
# Creating DataFrame
df = pd.DataFrame(data)
# Print the dataframe
df
输出 :
有时,你可能需要将你的pandas数据框架转换为List。为了完成这个任务,可以使用’tolist()’函数。下面是一个基本的例子,使用这个函数将所需的数据框架转换为一个列表。
df.values.tolist()
输出 :
[['Tony', 35], ['Steve', 70], ['Bruce', 45], ['Peter', 20]]
在这里,每个内部列表包含了某一特定行的所有列。
Pandas DataFrame可以通过多种方式转换为列表。让我们逐一看一下转换DataFrame的不同方法。
方法#1:将一个数据框架转换为包含某一列所有行的列表。
import pandas as pd
# Creating a dictionary to store data
data = {'Name':['Tony', 'Steve', 'Bruce', 'Peter' ] ,
'Age': [35, 70, 45, 20] }
# Creating DataFrame
df = pd.DataFrame(data)
# Converting DataFrame to a list containing
# all the rows of column 'Name'
names = df['Name'].tolist()
# Printing the converted list.
print(names)
输出: __
['Tony', 'Steve', 'Bruce', 'Peter']
方法2:将一个数据框架转换为包含所有列的所有行的嵌套列表。
import pandas as pd
# Creating a dictionary to store data
data = {'Name':['Tony', 'Steve', 'Bruce', 'Peter' ] ,
'Age': [35, 70, 45, 20] }
# Creating DataFrame
df = pd.DataFrame(data)
# Creating an empty list
res=[]
# Iterating through the columns of
# dataframe
for column in df.columns:
# Storing the rows of a column
# into a temporary list
li = df[column].tolist()
# appending the temporary list
res.append(li)
# Printing the final list
print(res)
输出:
[['Tony', 'Steve', 'Bruce', 'Peter'], [35, 70, 45, 20]]
方法#3:将一个DataFrame转换为一个列表,该列表包含有一行的所有列。
import pandas as pd
# Creating a dictionary to store data
data = {'Name':['Tony', 'Steve', 'Bruce', 'Peter' ] ,
'Age': [35, 70, 45, 20] }
# Creating DataFrame
df = pd.DataFrame(data)
# Converting dataframe to list
li = df.values.tolist()
# Printing list
print(li)
输出 :
[['Tony', 35], ['Steve', 70], ['Bruce', 45], ['Peter', 20]]
方法四:将一个DataFrame转换为一个列表,该列表包含有一行的所有列以及列名。
import pandas as pd
# Creating a dictionary to store data
data = {'Name':['Tony', 'Steve', 'Bruce', 'Peter' ] ,
'Age': [35, 70, 45, 20] }
# Creating DataFrame
df = pd.DataFrame(data)
# Converting dataframe to list
li = [df.columns.values.tolist()] + df.values.tolist()
# Printing list
print(li)
输出:
[['Name', 'Age'], ['Tony', 35], ['Steve', 70], ['Bruce', 45], ['Peter', 20]]