簡體   English   中英

在 pandas dataframe 中聚合 function 無法正常工作

[英]Aggregate function in pandas dataframe not working appropriately

我試圖根據另一列的 groupby 對某一列求和,我的代碼是正確的,但 output 完全不同。 所以我在那個 groupby 上嘗試了一個簡單的 min() function,來自這個的 output 也與預期的 output 完全不同,我是不是偶然做錯了什么?

下面是顯示的df的圖像。 我按 lga_desc 對其進行分組,當測試這些行的最小值時,我得到了錯誤的 output

|Taxable Income |lga_desc|

|300,000,450    |Alpine  |

|240,000        |Alpine  |

|700,000        |Alpine  |

|260,000,450    |Ararat  |

|469,000        |Ararat  |

|5,200,000      |Ararat  |


df = df.groupby('lga_desc')
df = df['Taxable income'].min()

output when applying min function:

lga_desc

Alpine           700,000 

Ararat           469,000 

這些是錯誤的輸出,來自給定的 dataframe

感謝您的幫助!

您需要先將數據類型轉換為 int:

df['Taxable Income'] = df['Taxable Income'].str.replace(',', '').astype(int)
result = df.groupby('lga_desc')['Taxable Income'].min().reset_index()

OUTPUT:

  lga_desc  Taxable Income
0  Alpine            240000
1  Ararat            469000

更新這個問題。 再次仔細檢查我的代碼后,顯然當我導入這個文件時,所有數字都變成了字符串。 所以一個教訓,不要忘記確保你的數字是實際數字:不是字符串:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM