📅  最后修改于: 2023-12-03 15:38:24.472000             🧑  作者: Mango
在 Python-Pandas 中,我们有时需要以逐元素的方式获取数组值,以进行进一步的处理和分析。下面介绍几种常用的方法:
通过使用iterrows()方法,我们可以遍历Pandas DataFrame的每一行,并逐个获取每个单元格的值。
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Country': ['USA', 'Canada', 'UK']}
df = pd.DataFrame(data)
# 遍历每一行,并逐个获取每个单元格的值
for index, row in df.iterrows():
print(row['Name'], row['Age'], row['Country'])
输出结果:
Alice 25 USA
Bob 30 Canada
Charlie 35 UK
通过使用applymap()方法,我们可以对Pandas DataFrame中的每个单元格应用同一个函数,并返回处理后的DataFrame。
例如,我们可以使用以下示例代码获取DataFrame中每个单元格的文本长度:
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Country': ['USA', 'Canada', 'UK']}
df = pd.DataFrame(data)
# 定义一个函数,用于获取输入文本的长度
def get_text_length(text):
return len(str(text))
# 使用applymap()方法应用函数,并返回处理后的DataFrame
text_length_df = df.applymap(get_text_length)
print(text_length_df)
输出结果:
Name Age Country
0 5 2 3
1 3 2 6
2 7 2 2
通过使用apply()方法,我们可以对Pandas DataFrame中的每一列应用同一个函数,并返回处理后的Series。
例如,我们可以使用以下示例代码获取DataFrame中每个列中的最大值:
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Country': ['USA', 'Canada', 'UK']}
df = pd.DataFrame(data)
# 使用apply()方法应用函数,并返回处理后的Series
max_series = df.apply(max)
print(max_series)
输出结果:
Name Charlie
Age 35
Country USA
dtype: object
以上就是我们介绍的三种在 Python-Pandas 中逐元素获取数组值的方法,它们分别是:
可以根据具体需求选择不同的方法进行处理。