在Pandas中,我们可以使用iterrows()
和iteritems()
方法来迭代DataFrame中的行和列。以下是详细说明。
对行进行迭代
使用iterrows()
方法对DataFrame的每一行进行迭代。iterrows()
方法返回一个迭代器,该迭代器包含每一行的索引和对应的值。在每次迭代中,我们可以使用.loc[]
属性获取每一行的值。
以下是一个示例代码:
import pandas as pd
df = pd.DataFrame({'Name':['Tom', 'John', 'Mike'],
'Age':[23, 25, 26],
'Country':['US', 'UK', 'CA']})
# 迭代行
for index, row in df.iterrows():
print(f"Index:{index}, Name:{row['Name']}, Age:{row['Age']}, Country:{row['Country']}")
输出:
Index:0, Name:Tom, Age:23, Country:US
Index:1, Name:John, Age:25, Country:UK
Index:2, Name:Mike, Age:26, Country:CA
在每次迭代中,我们通过row['Name']
、row['Age']
和row['Country']
获取每一行中对应的值。
对列进行迭代
使用iteritems()
方法可以对DataFrame的每一列进行迭代。iteritems()
方法返回一个迭代器,该迭代器包含每一列的列名和对应的值。在每次迭代中,我们可以使用.loc[]
属性获取每一列的值。
以下是一个示例代码:
import pandas as pd
df = pd.DataFrame({'Name':['Tom', 'John', 'Mike'],
'Age':[23, 25, 26],
'Country':['US', 'UK', 'CA']})
# 迭代列
for column_name, column_series in df.iteritems():
print(f"Column Name:{column_name}")
for value in column_series:
print(f"Value:{value}")
输出:
Column Name:Name
Value:Tom
Value:John
Value:Mike
Column Name:Age
Value:23
Value:25
Value:26
Column Name:Country
Value:US
Value:UK
Value:CA
在每次迭代中,我们通过column_name
获取每个列的列名,并通过column_series
获取对应列中的每个值。
注意,如果我们想要只对DataFrame的部分列进行迭代,可以使用.loc[]
属性来选择相应的列。例如,df.loc[:, ['Name', 'Age']]
将返回一个只包含Name
和Age
列的DataFrame。在迭代时,我们只需要使用.iteritems()
方法对这个DataFrame进行迭代即可。
以上便是Pandas DataFrame中对行和列进行迭代的完整攻略。在实际应用中,不同的数据需求可能会有不同的迭代方式,我们需要根据具体情况来选用合适的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Pandas DataFrame中对行和列进行迭代 - Python技术站