在数据分析和处理中,我们经常会使用Pandas库中的DataFrame来进行数据处理和操作。而对于DataFrame的遍历方法,则是我们必备的基础知识之一。在本文中,我们将详细介绍Python中使用DataFrame遍历的方法和技巧。
一、简介
在Python的Pandas库中,我们使用DataFrame来表达二维表格数据(也可以看作是Series的字典)。对于二维表格数据,我们需要遍历其中的行或列,以便进行对每一行或每一列的数据处理。在这里,我们主要介绍DataFrame的遍历方法。
二、按行遍历
按行遍历是遍历DataFrame最常用的方法。我们可以通过iterrows()
函数遍历DataFrame中的每一行,返回的是(index,Series)对。以下是代码示例:
import pandas as pd
df = pd.DataFrame({'name':['Tom', 'Jerry', 'Grace'], 'age':[21, 19, 23]})
for index, row in df.iterrows():
print(index, row['name'], row['age'])
执行结果:
0 Tom 21
1 Jerry 19
2 Grace 23
除此之外,我们还可以使用apply()
函数进行行遍历。该方法会将DataFrame中的每一行转换为Series,然后对该Series进行操作,最后返回处理后的结果。以下是代码示例:
import pandas as pd
def func(row):
row['age'] += 2
return row
df = pd.DataFrame({'name':['Tom', 'Jerry', 'Grace'], 'age':[21, 19, 23]})
df = df.apply(func, axis=1)
print(df)
执行结果:
name age
0 Tom 23
1 Jerry 21
2 Grace 25
三、按列遍历
按列遍历是我们在处理数据时比较常用的方法,在Pandas库中提供了多种方法支持按列遍历DataFrame。以下是代码示例:
方法一: 使用iteritems()
函数进行遍历。该方法遍历的是DataFrame的每一列数据,返回(列名,Series)对。代码示例:
import pandas as pd
df = pd.DataFrame({'name':['Tom', 'Jerry', 'Grace'], 'age':[21, 19, 23]})
for col_name, col_value in df.iteritems():
print(col_name)
print(col_value)
执行结果:
name
0 Tom
1 Jerry
2 Grace
Name: name, dtype: object
age
0 21
1 19
2 23
Name: age, dtype: int64
方法二: 使用iterrows()
函数处理转换成字典进行遍历。代码示例:
import pandas as pd
df = pd.DataFrame({'name':['Tom', 'Jerry', 'Grace'], 'age':[21, 19, 23]})
dic = df.to_dict()
for col_name in dic:
print(col_name)
for index in dic[col_name]:
print(dic[col_name][index])
执行结果:
name
Tom
Jerry
Grace
age
21
19
23
方法三: 使用apply()
函数进行处理。该方法会将DataFrame中的每一列转换为Series,然后对该Series进行操作,最后返回处理后的结果。代码示例:
import pandas as pd
def func(col):
col = col.apply(lambda x: x*2)
return col
df = pd.DataFrame({'name':['Tom', 'Jerry', 'Grace'], 'age':[21, 19, 23]})
df = df.apply(func, axis=0)
print(df)
执行结果:
name age
0 TomTom 42
1 JerryJerry 38
2 GraceGrace 46
四、总结
本文详细介绍了Python中使用DataFrame遍历的方法和技巧。包括按行遍历、按列遍历等多个方法。希望本文能对大家理解和使用DataFrame有所帮助。