Power BI Python 脚本在首次使用后截断数据帧
Power BI Python Script truncates dataframe after first use
当我在 Python 上正常 运行 一个脚本时,它 运行 很顺利,但是,当 运行 在 Power Bi 上运行相同的脚本时,它并不按预期工作。
嗨,我有以下 python 脚本,运行 在 VS Code 上非常完美:
# 'dataset' holds the input data for this script
import pandas as pd
import numpy as np
dataset = pd.read_csv('PBI_Test.csv')
used = dataset[dataset.PPSNU_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
used.columns = ['service_order_id','used_item_id','used_part_type']
req = dataset[dataset.PPSNR_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
req.columns = ['service_order_id','req_item_id','req_part_type']
final = pd.merge(left=used,right=req,on='service_order_id')
final
然而,当我在 Power Bi 上使用完全相同的脚本来操作数据集时,出现以下错误:
ValueError: Length mismatch: Expected axis has 2 elements, new values have 3 elements
我知道这是因为“req”没有 Part_Type 列,但我不明白为什么。
req.columns = ['service_order_id','req_item_id','req_part_type']
如有任何帮助,我们将不胜感激。
我明白了。我想该组通过与该数据框具有的具有空值的列连接:
req = dataset[dataset.PPSNR_1D_Qty > 0]
导致了问题。所以我在 Part_Type 中删除了所有空值并且它起作用了。
dataset = dataset[dataset.part_type.notna()]
当我在 Python 上正常 运行 一个脚本时,它 运行 很顺利,但是,当 运行 在 Power Bi 上运行相同的脚本时,它并不按预期工作。
嗨,我有以下 python 脚本,运行 在 VS Code 上非常完美:
# 'dataset' holds the input data for this script
import pandas as pd
import numpy as np
dataset = pd.read_csv('PBI_Test.csv')
used = dataset[dataset.PPSNU_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
used.columns = ['service_order_id','used_item_id','used_part_type']
req = dataset[dataset.PPSNR_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
req.columns = ['service_order_id','req_item_id','req_part_type']
final = pd.merge(left=used,right=req,on='service_order_id')
final
然而,当我在 Power Bi 上使用完全相同的脚本来操作数据集时,出现以下错误:
ValueError: Length mismatch: Expected axis has 2 elements, new values have 3 elements
我知道这是因为“req”没有 Part_Type 列,但我不明白为什么。
req.columns = ['service_order_id','req_item_id','req_part_type']
如有任何帮助,我们将不胜感激。
我明白了。我想该组通过与该数据框具有的具有空值的列连接:
req = dataset[dataset.PPSNR_1D_Qty > 0]
导致了问题。所以我在 Part_Type 中删除了所有空值并且它起作用了。
dataset = dataset[dataset.part_type.notna()]