python - 以属性系列作为参数应用函数
问题描述
我有一个名为 Tabla 的 DataFrame。我正在func11
对每一列应用一个函数(称为 ),该函数基本上用于针对其他行绘制特定行(是的,用于每列绘制一个数据点)。
我的问题是:如何将属性 Series 作为参数传递给我func11
,以便更好地控制要绘制的行?
我的 Tabla 的一部分如下所示:
G13 G42
RH1_0_i 12.7973 25.3097
RH2_0_i -3.51892 85.2268
RH1_0 6700.17 -8888.33
RH2_0 7613 -7945.33
n1 2.30668e+11 2.23905e+11
n2 2.08436e+11 1.92139e+11
所以,基本上我想用额外的参数来调用 func11RH1_0_i
或者n1
是 Series 属性。
到目前为止,我的代码是:
Tabla.apply(func11)
def func11(x):
plt.plot(x.RH1_0_i,x.n1)
plt.plot(x.RH2_0_i,x.n2)
我想要的是:
Tabla.apply(func11,extra_args=(arg1,arg2,arg3,arg4))
def func11(x,extra_args):
plt.plot(x.arg1,x.arg3)
plt.plot(x.arg2,x.arg4)
解决方案
好的,感谢 amanb 发表的评论,我想出了一种方法:
def func12(x,x1,y1,x2,y2):
X1,X2,Y1,Y2 = x[x1],x[x2],x[y1],x[y2]
plt.plot(X1,Y1)
plt.plot(X2,Y2)
Tabla.apply(func12,args=('RH1_0_i','n1','RH2_0_i','n2'))
因此,通过这种方式,我可以将 Series 属性作为参数传递给我的函数。
推荐阅读
- mongodb - 为什么我在 Symfony 4 上的 ORM 和 mongo 装置之间存在冲突
- c# - 分层模型绑定
- tensorflow.js - 加载 saved_model 导致聚集操作的“编译片段着色器失败”
- time-complexity - 如何使用斐波那契堆的联合操作降低 MST 的时间复杂度?
- sql - SQL - 过滤掉一个完整的组,其中至少有一个成员不是特定结果的一部分
- django - 如何在 Django 中拥有每个域名的用户?
- javascript - React 动态添加 x 数量的选择框用于过滤数据
- javascript - i++ 从 JavaScript for 循环传递到 jQuery(document).ready(function() { 在遍历数组时不能用作动态索引
- excel - 批量数据列(表)中的循环复制值
- pandas - 如何通过重复最后一行并将索引同时增加一年来扩展熊猫数据框