- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试运行以下函数
def make_europe_view(data):
data['% Rev'] = data.GrossRevenue_GBP/data.GrossRevenue_GBP.sum()
tmean = lambda x :stats.trim_mean(x, 0.1)
pivot = pd.pivot_table(data[(data['New_category_ID'] != 0)&(data['YYYY'] == 2016)],
index = 'New_category',
values=['GrossRevenue_GBP','MOVC_GBP','PM_GBP', '% Rev'],
aggfunc= {'MOVC_GBP':tmean,'PM_GBP':tmean,'GrossRevenue_GBP':[np.sum,tmean],'% Rev':np.sum })
pivot['% PM'] = pivot['PM_GBP']/pivot[('GrossRevenue_GBP')]['<lambda>']
#pivot['% MOVC'] = pivot['MOVC_GBP']/Tmean_GR
pivot['Country'] = 'EU'
pivot['product_cat'] = pivot.index
#pivot = pivot[['product_cat', '% Rev', 'GrossRevenue_GBP', 'MOVC_GBP', 'PM_GBP', '% PM', '% MOVC', 'Country']]
return pivot
我想通过截断平均值和总和来汇总总收入,生成数据透视表没有问题,但在创建一些附加列时遇到问题。具体这部分代码:
pivot['% PM'] = pivot['PM_GBP']/pivot[('GrossRevenue_GBP')]['<lambda>']
我正在尝试创建一个列,通过将“PM_GBP”列的截断平均值占“GrossRevenue_GBP”列的截断平均值的百分比来计算 PM 的截断平均值百分比
它会生成以下错误:
ValueError: Wrong number of items passed 25, placement implies 1
非常感谢对此的帮助。
运行list()
时数据透视表的列名称:
[('GrossRevenue_GBP', '<lambda>'), ('GrossRevenue_GBP', 'sum'), ('% Rev', 'sum'), ('MOVC_GBP', '<lambda>'), ('PM_GBP', '<lambda>'), ('Country', ''), ('product_cat', '')]
最佳答案
您可以使用元组在列中的 MultiIndex
中选择值:
tups = [('GrossRevenue_GBP', '<lambda>'), ('GrossRevenue_GBP', 'sum'), ('% Rev', 'sum'), ('MOVC_GBP', '<lambda>'), ('PM_GBP', '<lambda>'), ('Country', ''), ('product_cat', '')]
idx = list('ab')
cols = pd.MultiIndex.from_tuples(tups)
pivot = pd.DataFrame([[7,4,5,8,4,5,1],
[1,5,7,3,9,6,7]], columns=cols, index=idx)
print (pivot)
GrossRevenue_GBP % Rev MOVC_GBP PM_GBP Country product_cat
<lambda> sum sum <lambda> <lambda>
a 7 4 5 8 4 5 1
b 1 5 7 3 9 6 7
<小时/>
pivot['% PM'] = pivot[('PM_GBP','<lambda>')]/pivot[('GrossRevenue_GBP','<lambda>')]
print (pivot)
GrossRevenue_GBP % Rev MOVC_GBP PM_GBP Country product_cat % PM
<lambda> sum sum <lambda> <lambda>
a 7 4 5 8 4 5 1 0.571429
b 1 5 7 3 9 6 7 9.000000
为了简化生活,可以删除 MultiIndex
并创建列:
#rename columns by dict
pivot = pivot.rename(columns={'<lambda>':'tmean'})
#remove multiindex
pivot.columns = pivot.columns.map('_'.join).str.strip('_')
#simply divide
pivot['% PM'] = pivot['PM_GBP_tmean']/pivot['GrossRevenue_GBP_tmean']
print (pivot)
GrossRevenue_GBP_tmean GrossRevenue_GBP_sum % Rev_sum MOVC_GBP_tmean \
a 7 4 5 8
b 1 5 7 3
PM_GBP_tmean Country product_cat % PM
a 4 5 1 0.571429
b 9 6 7 9.000000
关于python - Pandas 数据透视表 - 通过合并列的划分创建附加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45632484/
我正在尝试使用透视投影描绘一个立方体,但我得到的只是一个正方形的角。正方形的面设置在原点并向正方向扩展。使用 glOrtho 我可以设置坐标系,但我在使用 glPerspective 做同样的事情时遇
SELECT j.departure, stopDepartures.* FROM journey j JOIN journey_day ON journey_day.journey = j.id J
我确实需要一些帮助来了解如何根据相似的值对表格进行透视。 day | startDate ----------------------- Monday | 09:00 Monday |
我有以下数据框 df = pd.DataFrame({ '1': ['Mon (07/08)','Sales', '2'], '2': ['Mon (07/0
dummy_df = pd.DataFrame({ 'accnt' : [101, 102, 103, 104, 101, 102, 103, 104, 101, 102, 103, 104,
public class MainActivity extends Activity { LinearLayout rotator; protected void onCreate(Bundle sa
我正在尝试通过 PHP 更改 ImageMagick 中 Plane2Cylinder 失真的视角。 为了帮助解释我在寻找什么,我制作了这张图: 您可以看到红色 block 的下部比顶部的半径更大,就
我有一个像这样的简单查询.. USE AdventureWorks; GO SELECT DaysToManufacture, AVG(StandardCost) AS AverageCost FRO
我希望我可以更改架构,但我受制于它,假设我有以下表格 JanDataTable FebDataTable MarDataTable ProductsTable 其中前三个表有 ID 和 Amount
我正在将我们的一个旧应用程序从 vb6 更新到 c#,在此过程中必须重新创建原始程序员设计的自定义控件。该控件简单地获取对象的尺寸,矩形或圆锥形,并在 3D 中放置对象的轮廓草图(我认为在技术上是 2
我一直在尝试在 MySQL 中对表进行透视(将行移动到列)。我知道 mysql 没有枢纽功能,所以我认为需要联合,但不是 100% 确定。我有三列,user_id、option_id 和 Questi
我正在尝试旋转像这样创建的 mysql 表 'CREATE TABLE `fundreturns` ( `Timestamp` datetime NOT NULL, `FundName` varcha
提前感谢任何对此提供帮助的人。我知道我以前做过这件事,没有太多痛苦,但似乎找不到解决方案 我的数据库看起来像这样: `tbl_user: ---------- id ( pkey )
我正在尝试开发 X 轴方向的卡片翻转动画。截至目前,div 现在只需使用 rotateX() 方法进行旋转。我试过对上层 div 使用透视属性,而不是工作它扭曲了我的 div 结构。因为,这只是一个工
我有一个带有 CSS3 透视图的 DIV 元素。 DIV 包含 2 个子 DIV,其中之一在 z 轴上有平移。这应该会导致一个 DIV 在另一个前面,因此后面的那个应该被挡住。 然而,这些 DIV 的
大家好,我有一张这样的 map http://sinanisler.com/demo/map/ 如您所见,有一些树,但不是真正的视角,我想要这个 http://sinanisler.com/demo/
我有以下代码将快照拍摄到帧缓冲区。我验证了帧缓冲区工作正常并且相机正确地面向对象。我曾经正确地完成图片,但它是基于错误的代码,使用了错误的截锥体。所以我决定重新开始(使用截锥体)。 物体以中间为中心,
我正在尝试将求和列添加到透视数据框,但不断收到数据解析错误。 mydata = [{'amount': 3200, 'close_date':'2013-03-31', 'customer': 'Cu
我正在尝试将一些 groupby/crosstabbing 逻辑应用于用户定义对象的 IEnumerable 列表,并且想知道是否有人可以帮助我。我坚持使用现有的(相当烦人的)对象模型来工作,但无论如
我想使用一个 CALayer 创建如下图所示的效果 - 而不是通过拆分图像、对两半进行透视变换然后将它们并排放置。 可以使用 CoreImage 以任何方式完成吗? 或者,有人可以使用 OpenGL
我是一名优秀的程序员,十分优秀!