Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python dcast和聚合到熊猫的长度_Python_Pandas - Fatal编程技术网

Python dcast和聚合到熊猫的长度

Python dcast和聚合到熊猫的长度,python,pandas,Python,Pandas,我来自R的背景,所以努力实现我可以在R中轻松实现的目标,我有以下数据帧 ID credit_active credit_currency credit_type 1 Active Dollars Home 1 Closed Dollars Home 1 Active Euro Home 2 Active

我来自R的背景,所以努力实现我可以在R中轻松实现的目标,我有以下数据帧

ID   credit_active    credit_currency      credit_type
1    Active           Dollars              Home
1    Closed           Dollars              Home
1    Active           Euro                 Home
2    Active           Dollars              Home
2    Closed           Dollars              Home
2    Active           Euro                 Home
我想要以下格式的数据

ID     Active    Closed     Dollars     Euro     Home
1      2         1          2           1        3
2      2         1          2           1        3
我可以用如下简单的命令在R中实现这一点

dcast(melt(setDT(bureau), id.var = 'ID'), ID ~ value)
如何做相同的事情?

通过以下方式使用、聚合和最后重塑:

另一个解决方案包括:

或与:



抱歉,这是一个基本问题,我们如何将第一列名称更改为ID?当我尝试将
ID
的数据类型更改为
object
df['ID']=df['ID'].astype(object)
时,它给了我一个错误。我可以使用
reset\u index
来执行此操作。谢谢
df = df.melt('ID').groupby(['ID', 'value']).size().unstack(fill_value=0)
df = df.melt('ID').pivot_table(index='ID', columns='value', aggfunc='size')
df1 = df.melt('ID')
df = pd.crosstab(df1['ID'], df1['value']) 
print (df)
value  Active  Closed  Dollars  Euro  Home
ID                                        
1           2       1        2     1     3
2           2       1        2     1     3