python - 计算pandas数据框中的数据参数

标签 python pandas jupyter-notebook

我有以下 pandas 数据框:

代码:

df = pd.DataFrame({'A1': [0.1,0.5,3.0, 9.0], 'A2':[2.0,4.5,1.2,9.0],'Random 
data':[300,4500,800,900],'Random data2':[3000,450,80,90]})

输出:

    A1  A2  Randomdata  Randomdata2
0   0.1 2.0    300            3000
1   0.5 4.5    4500           450
2   3.0 1.2    800            80
3   9.0 9.0    900            90

它仅显示 A1 和 A2,但实际上从 A1 到 A30 数据。我想计算每行的平均值和标准差,但只计算 A1 到 A30 列(不包括 Randomdata 和 Randomdata2 列),并添加 2 个新列,其平均值和标准差如下所示。

     A1 A2  Randomdata  Randomdata2  Average   Stddev
0   0.1 2.0    300            3000
1   0.5 4.5    4500           450
2   3.0 1.2    800            80
3   9.0 9.0    900            90

最佳答案

首选方法
使用pd.DataFrame.filter
您对 regex pattern 的选择可以像您希望的那样明确。在本例中,我指定该列必须以 'A' 开头,后面有 1 个或多个数字。

d = df.filter(regex='^A\d+')
df.assign(Average=d.mean(1), Stddev=d.std(1))

    A1   A2  Random data  Random data2  Average    Stddev
0  0.1  2.0          300          3000     1.05  1.343503
1  0.5  4.5         4500           450     2.50  2.828427
2  3.0  1.2          800            80     2.10  1.272792
3  9.0  9.0          900            90     9.00  0.000000
<小时/>

备选方案 1
这实在是太努力了。

rnm = dict(mean='Average', std='Stddev')
df.join(df.T[df.columns.str.startswith('A')].agg(['mean', 'std']).T.rename(columns=rnm))

    A1   A2  Random data  Random data2  Average    Stddev
0  0.1  2.0          300          3000     1.05  1.343503
1  0.5  4.5         4500           450     2.50  2.828427
2  3.0  1.2          800            80     2.10  1.272792
3  9.0  9.0          900            90     9.00  0.000000

关于python - 计算pandas数据框中的数据参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47147106/

相关文章:

具有小数指数的 Python 指数运算符

python - PySpark org.apache.spark.sql.AnalysisException : Table or view not found:

python - Pandas 截断不完整的时间序列

python - 如何在不保存在磁盘上的情况下将 pandas 数据帧上传为 csv 流?

python - 是否可以在 Jupyter 笔记本中显示控制台?

python - 将第二个 y 轴引入具有多个绘图的 relplot() 调用中

Python gzip 拒绝读取未压缩的文件

python - 过滤异常和复杂的数据集

google-drive-api - 在运行时在 Google Colab 中重新验证或删除验证 Pydrive

python - Jupyter Notebook 时间分析