powerbi使用python实例,使用Python脚本在powerbi中创建新列

我无法重现您的错误,但我强烈怀疑错误的来源是数据类型。在Power Query Editor中,尝试将分组变量转换为文本。对于大于20000行的数据集,查询失败这一事实与该问题完全无关。当然,除非数据内容在第20000行之后发生了变化。在

如果您可以描述您的数据源并在powerquery编辑器中显示应用的步骤,那么对于任何试图帮助您的人来说,这将是非常有帮助的。您还可以尝试一步一步地应用代码,这意味着使用dataset['id'] =dataset.groupby(['RESIDENTIAL_ADDRESS1','RESIDENTIAL_CITY']).ngroup()创建一个表,使用dataset['household_count'] = dataset.groupby(['id'])['id'].transform('count')创建另一个表

我不妨向您展示如何做到这一点,同时也可能巩固我对错误存在于数据类型的怀疑,并希望排除其他错误源。在

我使用numpy和一些随机的城市和街道名称来构建一个数据集,我希望它能代表真实世界数据集的结构和数据类型:

片段1:import numpy as np

import pandas as pd

np.random.seed(123)

strt=['Broadway', 'Bowery', 'Houston Street', 'Canal Street', 'Madison', 'Maiden Lane']

city=['New York', 'Chicago', 'Baltimore', 'Victory Boulevard', 'Love Lane', 'Utopia Parkway']

RESIDENTIAL_CITY=np.random.choice(strt,21000).tolist()

RESIDENTIAL_ADDRESS1=np.random.choice(strt,21000).tolist()

sample_dataset=pd.DataFrame({'RESIDENTIAL_CITY':RESIDENTIAL_CITY,

'RESIDENTIAL_ADDRESS1':RESIDENTIAL_ADDRESS1})

复制该片段,转到PowerBI Desktop > Power Query Editor > Transform > Run Python Script并运行它以获得以下信息:

iyEm3.png

然后对这个片段执行相同的操作:

^{pr2}$

现在你应该有这个:

ZCXO7.png

到目前为止,您的最后一步是Changed Type 2。上面是一个叫做dataset的步骤。如果单击该按钮,您将看到ID的数据类型存在一个字符串ABC,并且在下一步中它将更改为编号123。在我的设置中,powerbi会自动插入步骤Changed Type 2。也许你不是这样吗?它很可能是一个潜在的误差源。在

接下来,插入最后一行作为它自己的步骤:dataset['household_count'] = dataset.groupby(['id'])['id'].transform('count')

现在您应该拥有如下所示的数据集,以及Applied Steps下的相同步骤:

QoHDU.png

有了这个装置,一切看起来都很好。那么,到目前为止,我们究竟知道什么?在数据集的大小不是问题

你的代码本身不是问题所在

Python应该在powerbi中完美地处理这个问题

我们怀疑什么?在您的数据就是问题所在—要么缺少值,要么类型错误

我希望这对你有所帮助。如果没有,请不要犹豫让我知道。在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值