[英]Pivoting python
快速提問:
我有以下情況(表): 導入的數據框
現在,我要實現的是以下內容(或這些內容中的內容,不必完全相同)
我不要以下幾列,所以我將其刪除
data.drop(data.columns[[0,5,6]], axis=1,inplace=True)
我以為下面的代碼行可以解決它,但是我缺少了什么?
pivoted = data.pivot(index=["Intentional homicides and other crimes","Unnamed: 2"],columns='Unnamed: 3', values='Unnamed: 4')
產生
ValueError:傳遞的值的長度是3395,索引暗示2
與第8個問題不同的是,我不需要任何聚合函數,只是將值保持不變。
數據可在以下位置找到: 數據
方法pandas.DataFrame.pivot的問題在於它不處理索引中的重復值。 解決此問題的一種方法是改用pandas.pivot_table函數。
df = pd.read_csv('Crimes_UN_data.csv', skiprows=[0], encoding='latin1')
cols = list(df.columns)
cols[1] = 'Region'
df.columns = cols
pivoted = pd.pivot_table(df, values='Value', index=['Region', 'Year'], columns='Series', aggfunc=sum)
盡管有aggfunc參數,它不應求和,但會引發pandas.core.base.DataError:如果未提供該參數,則不會聚合任何數字類型 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.