Python 如何正确透视数据帧?

Python 如何正确透视数据帧?,python,pandas,dataframe,pivot-table,unique,Python,Pandas,Dataframe,Pivot Table,Unique,这是我关于堆栈溢出的第一篇文章,因此,对于在问这个问题时犯的错误,我提前表示歉意 我正在尝试旋转数据帧,但我正在努力理解如何正确地完成它,并考虑值的变化。我是Python和Pandas的初学者 我正在使用的数据集可以在以下位置找到: 我已将此数据集处理至此: 下一步我想做的是透视这个df,以便“source_id”将成为列。我使用pivot_table方法实现了这一点,但我得到了很多NaN值。下面是我得到的结果的打印屏幕: 此外,我不确定pivot是否只考虑“source_id”列中的唯一值。为

这是我关于堆栈溢出的第一篇文章,因此,对于在问这个问题时犯的错误,我提前表示歉意

我正在尝试旋转数据帧,但我正在努力理解如何正确地完成它,并考虑值的变化。我是Python和Pandas的初学者

我正在使用的数据集可以在以下位置找到:

我已将此数据集处理至此:

下一步我想做的是透视这个df,以便“source_id”将成为列。我使用pivot_table方法实现了这一点,但我得到了很多NaN值。下面是我得到的结果的打印屏幕:

此外,我不确定pivot是否只考虑“source_id”列中的唯一值。为此,我尝试实现一个For循环,它将遍历source_id的唯一值,并将它们存储在数据透视DF中。然而,我不知道如何编写代码


如果你能给我提供一些关于我做了什么好事和做了什么坏事的建议,以及如何解决这些问题的一些想法,我将非常感激。

因为你在源代码id中有重复的值,你需要执行某种按该列分组的聚合,然后使用.unstack。但这并不可取,因为您有很多无法聚合的文本数据。 你可以试试

df.set_index('source_id').T

但我不知道是否允许使用重复的索引名。

欢迎使用SO:。请提供您迄今为止尝试过的内容。