草庐IT

column-count

全部标签

python - pandas Series.value_counts 返回相等计数字符串的不一致顺序

当我运行下面的代码时:s=pandas.Series(['c','a','b','a','b'])print(s.value_counts())有时我会这样:a2b2c1dtype:int64有时我会这样:b2a2c1dtype:int64例如为等效计数返回的索引顺序不同。如果系列值是整数而不是字符串,我无法重现这一点。为什么会发生这种情况,每次获得相同索引顺序的最有效方法是什么?我希望它仍然按计数降序排序,但要与等价项的顺序保持一致。我正在运行Python3.7.0和pandas0.23.4 最佳答案 您有几个选项可以对给定的系列

python - matplotlib 直方图 : how to display the count over the bar?

使用matplotlib的hist函数,如何让它在条形图上显示每个bin的计数?例如,importmatplotlib.pyplotaspltdata=[...]#somedataplt.hist(data,bins=10)我们怎样才能让每个bin中的计数显示在它的条上? 最佳答案 matplotlib3.4.0的新特性有一个新的plt.bar_label自动标记条形容器的方法。plt.hist返回条形容器作为第三个输出:data=np.random.default_rng(123).rayleigh(1,70)counts,edg

python - 结构化二维 Numpy 数组 : setting column and row names

我正在尝试找到一种很好的方法来获取二维numpy数组并将列名和行名附加为结构化数组。例如:importnumpyasnpcolumn_names=['a','b','c']row_names=['1','2','3']matrix=np.reshape((1,2,3,4,5,6,7,8,9),(3,3))#TODO:insertmagicherematrix['3']['a']#7我已经能够像这样设置列:matrix.dtype=[(n,matrix.dtype)fornincolumn_names]这让我可以执行matrix[2]['a']但现在我想重命名行以便我可以执行matrix

python - 列 : getting value_counts as columns in pandas 的多级索引

在一般意义上,我要解决的问题是将多级索引的一个组件更改为列。也就是说,我有一个包含多级索引的Series,我希望索引的最低级别更改为dataframe中的列。这是我试图解决的实际示例问题,这里我们可以生成一些示例数据:foo_choices=["saul","walter","jessee"]bar_choices=["alpha","beta","foxtrot","gamma","hotel","yankee"]df=DataFrame([{"foo":random.choice(foo_choices),"bar":random.choice(bar_choices)}for_i

python - CVXOPT QP 求解器 : TypeError: 'A' must be a 'd' matrix with 1000 columns

我正在尝试使用CVXOPTqp求解器计算支持向量机的拉格朗日乘数defsvm(X,Y,c):m=len(X)P=matrix(np.dot(Y,Y.T)*np.dot(X,X.T))q=matrix(np.ones(m)*-1)g1=np.asarray(np.diag(np.ones(m)*-1))g2=np.asarray(np.diag(np.ones(m)))G=matrix(np.append(g1,g2,axis=0))h=matrix(np.append(np.zeros(m),(np.ones(m)*c),axis=0))A=np.reshape((Y.T),(1,m)

python - Pandas 数据框 : how to aggregate a subset of rows based on value of a column

我有一个结构如下的Pandas数据框:valuelabA50B35C8D5E1F1这只是一个例子,实际数据帧更大,但遵循相同的结构。示例数据框是用这两行创建的:df=pd.DataFrame({'lab':['A','B','C','D','E','F'],'value':[50,35,8,5,1,1]})df=df.set_index('lab')我想聚合值小于给定阈值的行:所有这些行都应替换为单个行,该行的值是替换行的总和。例如,如果我选择一个阈值=6,那么预期的结果应该是这样的:valuelabA50B35C8X7#sumofD,E,F我该怎么做?我想用groupby(),但我看

python .count 用于多维数组(列表列表)

如何计算嵌套列表构成的多维数组中某个值出现的次数?如在以下列表中查找“foobar”时:list=[['foobar','a','b'],['x','c'],['y','d','e','foobar'],['z','f']]它应该返回2。(是的,我知道我可以编写一个只搜索所有内容的循环,但我不喜欢该解决方案,因为它相当耗时(在运行时编写)).也许算数? 最佳答案 >>>list=[['foobar','a','b'],['x','c'],['y','d','e','foobar'],['z','f']]>>>sum(x.count(

python - 为什么 collections.Counter 比 '' .count 慢很多?

我有一个简单的任务:计算每个字母在字符串中出现的次数。我为此使用了Counter(),但在一个论坛上我看到了使用dict()/Counter()的信息比对每个字母使用string.count()慢。我认为它只会遍历字符串一次,而string.count()解决方案必须遍历它四次(在本例中)。为什么Counter()这么慢?>>>timeit.timeit('x.count("A");x.count("G");x.count("C");x.count("T")',setup="x='GAAAAAGTCGTAGGGTTCCTTCACTCGAGGAATGCTGCGACAGTAAAGGAGGC

python - count() 方法中的整数到 bool 值的转换

[1,1,1,2,2,3].count(True)>>>3为什么这会返回3而不是6,如果bool(i)对所有值都返回Truei不等于0? 最佳答案 In[33]:True==1Out[33]:TrueIn[34]:True==2Out[34]:FalseIn[35]:True==3Out[35]:FalseTrue和False是bool的实例,bool是int.来自thedocs:[Booleans]representthetruthvaluesFalseandTrue.Thetwoobjectsrepresentingtheval

python - HDFStore 附加错误 - "Cannot serialize the column"

我有一个数据框,df:datetimebidaskbidvolumeaskvolume02007-03-3021:00:00.3320001.96821.967840.8尝试将其附加到新的数据存储。数据存储不存在,因此我使用以下内容创建和附加数据;store=pd.HDFStore(storePath,mode='w')store.append('data',df)store.close()我收到此错误:在store.append行。TypeError:Cannotserializethecolumn[bid]becauseitsdatacontentsare[floating]obj