📅  最后修改于: 2023-12-03 15:37:27.682000             🧑  作者: Mango
在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中循环或迭代数据框的所有或某些列的两种不同的方法。我们可以根据我们的需求使用任一种方法。