📌  相关文章
📜  在 Python-Pandas 中循环或迭代数据框的所有或某些列(1)

📅  最后修改于: 2023-12-03 15:37:27.682000             🧑  作者: Mango

在 Python-Pandas 中循环或迭代数据框的所有或某些列

在Python中,Pandas是一个非常有用的数据分析库。Pandas提供了数据框(DataFrame)来处理结构化数据。在某些情况下,我们需要循环或迭代数据框的所有或某些列来进行特定的处理。下面我们将介绍如何在Python-Pandas中循环或迭代数据框的所有或某些列。

循环数据框的所有列

我们可以使用Pandas的iteritems函数循环数据框的所有列。iteritems返回每一列的名称和对应的Series:

import pandas as pd

# 创建一个数据框
data = {'Name': ['Tom', 'John', 'Mark', 'Luke'],
        'Age': [28, 32, 26, 35],
        'Country': ['US', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)

# 循环数据框的所有列
for column_name, column_data in df.iteritems():
    print('Column Name:', column_name)
    print('Column Contents:', list(column_data))

输出结果:

Column Name: Name
Column Contents: ['Tom', 'John', 'Mark', 'Luke']
Column Name: Age
Column Contents: [28, 32, 26, 35]
Column Name: Country
Column Contents: ['US', 'Canada', 'UK', 'Australia']
循环数据框的某些列

我们可以使用Pandas的loc函数循环数据框的某些列。loc返回某些列的内容:

import pandas as pd

# 创建一个数据框
data = {'Name': ['Tom', 'John', 'Mark', 'Luke'],
        'Age': [28, 32, 26, 35],
        'Country': ['US', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)

# 循环数据框的某些列
for index, row in df.iterrows():
    print('Name:', row['Name'])
    print('Country:', row['Country'])

输出结果:

Name: Tom
Country: US
Name: John
Country: Canada
Name: Mark
Country: UK
Name: Luke
Country: Australia
迭代数据框的所有行

我们可以使用Pandas的iterrows函数迭代数据框的所有行:

import pandas as pd

# 创建一个数据框
data = {'Name': ['Tom', 'John', 'Mark', 'Luke'],
        'Age': [28, 32, 26, 35],
        'Country': ['US', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)

# 迭代数据框的所有行
for index, row in df.iterrows():
    print('Index:', index)
    print('Row:', row)

输出结果:

Index: 0
Row: Name       Tom
Age         28
Country    US
Name: 0, dtype: object
Index: 1
Row: Name        John
Age           32
Country    Canada
Name: 1, dtype: object
Index: 2
Row: Name      Mark
Age         26
Country     UK
Name: 2, dtype: object
Index: 3
Row: Name            Luke
Age               35
Country    Australia
Name: 3, dtype: object
迭代数据框的某些行

我们可以使用Pandas的loc函数迭代数据框的某些行。

import pandas as pd

# 创建一个数据框
data = {'Name': ['Tom', 'John', 'Mark', 'Luke'],
        'Age': [28, 32, 26, 35],
        'Country': ['US', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)

# 迭代数据框的某些行
for index, row in df.loc[df['Age'] > 30].iterrows():
    print('Index:', index)
    print('Name:', row['Name'])
    print('Age:', row['Age'])
    print('Country:', row['Country'])

输出结果:

Index: 1
Name: John
Age: 32
Country: Canada
Index: 3
Name: Luke
Age: 35
Country: Australia
结论

这些是在Python-Pandas中循环或迭代数据框的所有或某些列的两种不同的方法。我们可以根据我们的需求使用任一种方法。