快速提问:
我有以下情况(表): Imported data frame
现在我想要实现的是以下内容(或这些行中的某些内容,它不必完全是这样)
我不需要以下列,因此我将其删除
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 个问题的不同之处在于我不需要任何聚合函数,只是将值保留原样。
数据可在以下位置找到:Data
最佳答案
方法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:没有要聚合的数字类型提供。
关于python - 旋转 python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53612346/