我有以下数据帧
>>> data = pd.DataFrame({'Name': ['CTA15', 'CTA15', 'AC007', 'AC007', 'AC007'],
'ID': [22, 22, 2, 2, 2],
'Sample':['PE12', 'PL14', 'AE29', 'AE04', 'PE03'],
'count_col' : [2, 2, 3, 3, 3]})
>>> data
ID Name Sample count_col
0 22 CTA15 PE12 2
1 22 CTA15 PL14 2
2 2 AC007 AE29 3
3 2 AC007 AE04 3
4 2 AC007 PE03 3
我需要重新排列我的数据框如下
Name Sample count_col
CTA15 PE12 2
PL14
AC007 AE10 3
AE29
PE03
我试过的是
pd.pivot_table(All_variants_REL,index=["Name",'Sample'],
values=['Count'],aggfunc={'Name':np.size})
但在计数列中没有显示准确的计数 任何帮助都很好
似乎需要^{} +^{} 通过^{} 创建的布尔掩码:
注意:我将cast添加到
str
,因为else会在count
列(带int的字符串)中获得混合值,一些pandas函数可能会被破坏注意1-如果对
Name
列中的值进行排序,则解决方案有效如果需要
NaNs
,只需省略,
,但最后一列值将转换为float
(因为NaN
是float)因为
lists
可以使用:为什么不简单地设置一个多索引呢?如果您有比示例
DataFrame
中更多的列,那么这样做将转换为显示所有列(旁注:我不建议使用名为
count
的列,因为它是一个DataFrame
方法,会导致问题。例如,data.count
并不像我们预期的那样返回Series
)设置多索引,它将作为任意大
DataFrame
的解决方案相关问题 更多 >
编程相关推荐