데이터 프레임이 있습니다: seller
、item
、price
、shipping
、免费送货最低
、count available
和count required
。我的目标是根据稍后计算的 total
找到 seller
和 item
의 가장 저렴한 조합입니다(계산 코드는 아래에 표시됩니다). 샘플 데이터는 다음과 같습니다:
그러나 seller
都可以出售多个item
。我想尽量减少支付的运费,所以我想通过 seller
将 item
s 分组在一起。因此,我根据我在另一个线程中看到的方式使用 .first()
방법 중 하나를 사용하면 각 열이 새로운 그룹화된 데이터 프레임에 유지되도록 그룹화할 수 있습니다.
이번에는 합격하고 싶습니다seller
计算total
。所以我有以下代码,但它为每个 item
计算 total
,而不是 seller
,这意味着 shipping
根据每个组中的商品数量被多次添加,或者当 price x count
结束时不应用免费送货最低免运费
.
실제로는 계산이 필요한 것처럼 보이지만 total
时对每个 seller
求和 price x count
외부 인덱스의 각 행을 계산하는 방법을 모르기 때문에 본질적으로 동일한 문제입니다. 이를 위해 어떤 방법을 사용할 수 있나요?
또한, 제 하반기 목표를 어떻게 달성할 수 있을지 제안사항이 있으시면 언제든지 문의해 주세요. 필요한 모든 품목을 반품하고 싶습니다. 예를 들어 "프로젝트 1" 2개와 "프로젝트 2" 2개가 필요합니다. "판매자 1"에 "항목 1" 2개와 "항목 2" 1개가 있고 "판매자 2"에 "항목 1" 1개와 "항목 2" 1개가 있는 경우 "판매자 1" 항목을 모두 원합니다. 가장 저렴함), 그러나 "Seller2"에 대한 "Item1"은 1개뿐입니다. 이는 total
열의 계산에 영향을 미치는 것으로 보이지만 어떻게 구현해야 할지 모르겠습니다. total
列的计算,但我不确定如何实现它。
我最终决定首先对 seller
进行分组,并对 price x count
进行求和以找到 subtotal
s,将其转换为数据帧,然后将 df1
与新的 subtotal
数据帧合并以创建 groupedphpcnend cphpcn 数据框。然后我使用 <code>np.where
建议创建了 totals
列(这比我的 for 循环优雅得多,并且可以轻松处理 nan 值)。最后按seller
、total
、item
판매자
를 먼저 그룹화하고 가격 x 개수
를 합하여 를 찾기로 결정했습니다. 소계
를 데이터 프레임으로 변환한 다음 df1
을 새로운 소계
데이터 프레임과 병합하여 groupedphpcnend cphpcn 데이터 프레임을 만듭니다. 그런 다음 <code>np.where
제안을 사용하여 totals
열을 만들었습니다(이것은 내 for 루프보다 훨씬 우아하고 nan 값을 쉽게 처리합니다). 마지막으로 판매자
, 전체
, 항목
별로 그룹화하여 원하는 결과를 반환합니다. 최종 코드는 다음과 같습니다. 🎜
으아아아위 내용은 다중 인덱스 팬더 데이터 프레임에서 외부 인덱스의 각 행의 합계를 계산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!