Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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 groupby复制dataframe并创建另一个水平表示groupby结果的dataframe_Python_Pandas_Dataframe - Fatal编程技术网

Python groupby复制dataframe并创建另一个水平表示groupby结果的dataframe

Python groupby复制dataframe并创建另一个水平表示groupby结果的dataframe,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个名为usabledata的pandas数据框架,它有['marker'、'action'、'id'列] usabledata = pd.DataFrame(columns=['marker','action','id']) 我在usabledata数据帧上运行了以下命令: counts = usabledata.groupby(['marker','action']).count() counts = counts.drop(['marker','action']) print cou

我有一个名为usabledata的pandas数据框架,它有['marker'、'action'、'id'列]

usabledata = pd.DataFrame(columns=['marker','action','id'])
我在usabledata数据帧上运行了以下命令:

counts = usabledata.groupby(['marker','action']).count()
counts = counts.drop(['marker','action'])
print counts

                        id 
marker  action   
1       A               377 
        B               224
        C               9881 
        D               149946 
2       A               481 
        B               397
        C               7468 
        D               147581 
3       A               538 
        B               458
        D               145916
现在,我想用以下格式创建熊猫数据帧:

Marker      A      B     C     D
1           377    224   9881   149946
2           481    397   7468   147581
3           538    458   0      145916
是否可以使用ipython笔记本中的pandas数据框进行此操作

此外,在获得所需输出后是否可以删除列,例如“C”列

同样问题中的另一个疑问是,在获得所需输出后,如何添加另一列“分数”,它只是列“a”和“D”的比率?

IIUC,然后您可以调用:

IIUC然后您可以通过以下方式拨打:


谢谢@EdChum你能检查一下编辑并告诉我这是否可行吗?你可以调用
drop(columns=['C'])
或者直接过滤掉
gp.unstack().fillna(0).ix[:,['A','B','D']
我这样做是为了让删除生效。unstacked=gp.unstack().fillna(0)unstacked.drop(unstacked['C']))谢谢@EdChum你能检查一下编辑并告诉我这是否可行吗?你可以调用
drop(columns=['C'])
或者直接过滤掉
gp.unstack().fillna(0).ix[:,['A','B','D']
我这样做是为了让删除生效。unstacked=gp.unstack().fillna(0)unstacked.drop(unstacked['C']))@EdChum你能帮忙吗?@EdChum你能帮忙吗?
In [124]:
gp.unstack().fillna(0)

Out[124]:
       action                   
marker      A    B     C       D
id                              
1         377  224  9881  149946
2         481  397  7468  147581
3         538  458     0  145916