从 Pandas DataFrame 中的行创建列表 |设置 2
在之前的一篇文章中,我们讨论了一些将数据帧的行提取为 Python 列表的方法。在这篇文章中,我们将看到更多实现该目标的方法。
注意:有关代码中使用的 CSV 文件的链接,请单击此处。
解决方案#1:为了访问 Pandas 数据框每一行的数据,我们可以使用DataFrame.iloc
属性,然后我们可以将每一行的数据附加到列表的末尾。
# importing pandas as pd
import pandas as pd
# Create the dataframe
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/11'],
'Event':['Music', 'Poetry', 'Theatre', 'Comedy'],
'Cost':[10000, 5000, 15000, 2000]})
# Print the dataframe
print(df)
输出 :
现在我们将使用DataFrame.iloc
属性来访问数据框中每一行的值,然后我们将用它构造一个列表。
# Create an empty list
Row_list =[]
# Iterate over each row
for i in range((df.shape[0])):
# Using iloc to access the values of
# the current row denoted by "i"
Row_list.append(list(df.iloc[i, :]))
# Print the list
print(Row_list)
输出 :
正如我们在输出中看到的,我们已经成功地将给定数据帧的每一行提取到一个列表中。就像任何其他 Python 的列表一样,我们可以对提取的列表执行任何列表操作。
# Find the length of the newly
# created list
print(len(Row_list))
# Print the first 3 elements
print(Row_list[:3])
输出 :
解决方案#2:为了访问 Pandas 数据框每一行的数据,我们可以使用DataFrame.iat
属性,然后我们可以将每一行的数据附加到列表的末尾。
# importing pandas as pd
import pandas as pd
# Create the dataframe
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/11'],
'Event':['Music', 'Poetry', 'Theatre', 'Comedy'],
'Cost':[10000, 5000, 15000, 2000]})
# Create an empty list
Row_list =[]
# Iterate over each row
for i in range((df.shape[0])):
# Create a list to store the data
# of the current row
cur_row =[]
# iterate over all the columns
for j in range(df.shape[1]):
# append the data of each
# column to the list
cur_row.append(df.iat[i, j])
# append the current row to the list
Row_list.append(cur_row)
# Print the list
print(Row_list)
输出 :
# Find the length of the newly
# created list
print(len(Row_list))
# Print the first 3 elements
print(Row_list[:3])
输出 :