You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不删除非数值列的情况下调用DataFrame的mean()函数

保留Country列计算1960-1969年行均值的方法

你可以通过以下几种方式实现保留Country列并添加均值列的需求:

方法1:直接给原DataFrame新增均值列

先计算1960-1969年的行均值,将其作为新列添加到原DataFrame中:

import pandas as pd

# 读取数据
fertilityRates = pd.read_csv('fertility_rate.csv')

# 计算1960-1969列的行均值,新增为'Mean1960-1969'列
fertilityRates['Mean1960-1969'] = fertilityRates.iloc[:, 1:11].mean(axis=1)

# 查看包含Country和均值列的结果(示例显示前5行)
print(fertilityRates[['Country', 'Mean1960-1969']].head())

方法2:使用assign生成仅含目标列的新DataFrame

如果不需要保留原数据的其他年份列,可直接生成包含Country和均值的新DataFrame:

# 生成仅含Country和均值列的新DataFrame
result_df = fertilityRates[['Country']].assign(Mean1960_1969=fertilityRates.iloc[:,1:11].mean(axis=1))

# 查看结果
print(result_df.head())

方法3:合并Country列与均值序列

提取Country列后,和计算好的均值序列合并成新DataFrame:

# 提取Country列
country_col = fertilityRates[['Country']]
# 计算均值并命名列
mean_series = fertilityRates.iloc[:,1:11].mean(axis=1).rename('Mean1960-1969')
# 合并两部分数据
result_df = pd.concat([country_col, mean_series], axis=1)

print(result_df.head())

以上三种方法可按需选择:方法1适合保留原数据所有列并新增均值的场景;方法2、3适合仅保留Country和均值列的场景。

内容的提问来源于stack exchange,提问作者Gurbanoğlu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:40:38