当从dataframe中的一行创建列表时,它只在for循环中迭代一次的原因是,dataframe的行是以索引的方式进行访问的,而不是按照顺序进行迭代。因此,在for循环中,每次迭代只能获取到一行数据。
如果想要将dataframe的每一行数据都存储到列表中,可以使用dataframe的iterrows()方法来实现。iterrows()方法会返回一个迭代器,每次迭代会返回一行数据的索引和值。可以通过遍历迭代器,将每一行的值存储到列表中。
以下是一个示例代码:
import pandas as pd
# 创建一个示例dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 创建一个空列表
my_list = []
# 使用iterrows()方法遍历dataframe的每一行,并将每一行的值存储到列表中
for index, row in df.iterrows():
my_list.append(row.tolist())
# 打印列表
print(my_list)
上述代码中,通过iterrows()方法遍历dataframe的每一行,并将每一行的值转换为列表形式,然后将列表添加到my_list中。最后打印my_list,即可得到包含dataframe每一行数据的列表。
对于列执行类似操作时,它工作得很好是因为dataframe的列是以标签的方式进行访问的,可以直接通过列名获取到整列的数据。因此,在for循环中迭代列时,可以直接获取到整列的数据。
希望以上内容能够帮助到您!如果有任何疑问,请随时提问。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云