python - 旋转 python

标签 python python-3.x pandas dataframe pivot

快速提问:

我有以下情况(表): Imported data frame

现在我想要实现的是以下内容(或这些行中的某些内容,它不必完全是这样)

Goal

我不需要以下列,因此我将其删除

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/

相关文章:

Python 数组操作

python - 将字典列表中具有相同值的项目添加到字典中

python - Dataframe - 在循环中从变量列表中获取列名称

python - Pandas 中正/负后的行数

Python/Pandas - 性能 - 尝试在全列操作中跳过 for 循环

javascript - 使用javascript将python/flask变量注入(inject)HTML表格单元格

python - Discord.py 和 youtube_dl、 "Read error"和 "The session has been invalidated for some reason"

python - 为什么Python中进程数大于CPU线程总数时应用程序可以运行得更快?

python - 如何在 pandas 中合并/连接两个数据帧而不重复行并将具有相同参数的数据保留在同一行上?

python - 将数据框与不可散列的列合并