python - 按年份分组删除一些变量

标签 python pandas dataframe group-by

这是原始数据,我需要每年所有变量的平均值。

Original data

但是当我使用 groupby('year') 命令时,它会删除除“lnmcap”和“epu”之外的所有变量。

Post Groupby output image

为什么会发生这种情况以及需要做什么?

最佳答案

可能其他列的数据类型是对象或字符串类型,而不是整数,因此只有 'Inmcap''epu' 获得了平均列。
使用ds.dtypes或简单地ds.info()检查列中数据的数据类型
它是对象/字符串类型,然后使用

ds=ds.drop('company',axis=1)
column_names=ds.columns
for i in column_names:
   ds[i]=ds[i].astype(str).astype(float)

这可行

关于python - 按年份分组删除一些变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72414861/

相关文章:

python - pandas 数据透视表,其值来自两个不重叠的列

python - 从数据框创建列表

r - 创建一个新的数据框列,该列是其他列的组合

python - 在 Pandas 中有效地计算具有回顾期的滚动平均值

错误识别的 Python 版本

python - 带有 lambda 的 min 是否总是返回 python 中的第一个值?

python - 如果列不存在,则将默认值添加为列

python - 如何使用 pandas 编写包含以下列表的 txt?

python - 将 Pandas 数据框转换为另一种布局

python - 为稀疏矩阵交换优化的文件格式