- pandas中的DataFrame数据遍历
pandas是数据分析领域广泛使用的库之一,其中DataFrame是pandas中最为重要的数据结构之一。为了快速有效地操作DataFrame中的数据,遍历DataFrame是一个重要的技巧。接下来,将为大家介绍pandas中DataFrame的数据遍历解读。
- 利用iterrows()遍历DataFrame
iterrows()方法可以遍历DataFrame中的每一行数据。在遍历过程中,iterrows()方法返回一个元组,包含一行中的第一列数据的索引值以及行数据本身,可以通过多次迭代遍历完整个DataFrame。
举个例子:
import pandas as pd
data = {'name': ['Tom', 'Jerry'], 'age': [20, 24], 'country': ['China', 'USA']}
df = pd.DataFrame(data)
for index, row in df.iterrows():
print(row['name'], row['age'], row['country'])
输出结果如下:
Tom 20 China
Jerry 24 USA
在这个例子中,iterrows()方法遍历了DataFrame df中的每一行,对于每一行返回了它的索引和行数据(以Series的形式),只需要通过列名来获取具体的行数据。
- 利用apply()遍历DataFrame
apply()方法是pandas中另一个实用的遍历DataFrame中行数据的方法。与iterrows()方法类似,apply()方法也可用于迭代DataFrame中的每一行数据。不过,在创建apply()时,需要定义一个函数来处理每一行数据并返回需要的结果。
举个例子:
import pandas as pd
data = {'name': ['Tom', 'Jerry'], 'age': [20, 24], 'country': ['China', 'USA']}
df = pd.DataFrame(data)
def print_row(row):
print(row['name'], row['age'], row['country'])
df.apply(print_row, axis=1)
输出结果如下:
Tom 20 China
Jerry 24 USA
apply()方法遍历DataFrame中的每一行,对于每一行,调用指定的函数print_row(),并将当前行数据作为参数传递。函数print_row()只需要打印当前行数据即可。在遍历完所有行数据后,apply()方法会返回一个Series,其中每一个元素是print_row()方法返回的结果。
以上是pandas中DataFrame数据遍历的两种方法,具体使用哪一种取决于具体场景。需要注意的是,在遍历大型DataFrame时,iterrows()方法会比apply()方法更慢一些,因为在循环中需要对每一行进行拆包操作,而apply()方法则是将函数应用到整个DataFrame中,执行之前无需拆包操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas中的DataFrame数据遍历解读 - Python技术站