我正在尝试从数据框中删除出现次数少于 100 次的条目。
数据框 data 如下所示:
pid tag
1 23
1 45
1 62
2 24
2 45
3 34
3 25
3 62
现在我像这样计算标 checkout 现的次数:
bytag = data.groupby('tag').aggregate(np.count_nonzero)
但是我不知道如何删除那些计数低的条目......
最佳答案
0.12 中的新功能,groupby 对象具有 filter方法,允许您执行以下类型的操作:
In [11]: g = data.groupby('tag')
In [12]: g.filter(lambda x: len(x) > 1) # pandas 0.13.1
Out[12]:
pid tag
1 1 45
2 1 62
4 2 45
7 3 62
函数(filter的第一个参数)被应用于每个组(子帧),结果包括原始DataFrame中属于评估为True的组的元素。
注意:in 0.12 the ordering is different than in the original DataFrame ,这已在 0.13+ 中修复:
In [21]: g.filter(lambda x: len(x) > 1) # pandas 0.12
Out[21]:
pid tag
1 1 45
4 2 45
2 1 62
7 3 62
关于Python Pandas : remove entries based on the number of occurrences,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13446480/
我有一个动态生成的表格,它乘以价格*数量。部分价格以美分计算。例如如果某件商品的价格是0.0375,我可以在我的表格中将其显示为number_to_currency(0.0375,:precision=>4)=>$0.0375但是我得到的价格是标准的2位小数的数量number_to_currency(33.95,:precision=>4)=>$39.9500我需要一种方法来去除十进制值的尾随零。请记住,输出位于Model.eachblock中,因此我不确定是否可以有条件地修改精度参数。 最佳答案 尝试指定strip_insigni
我有一个float价格:number_to_currency(m.price,:locale=>'en_us')我得到:$39.00如何删除.00,我想得到:$39 最佳答案 您可以按照记录将精度设置为0here在RailsAPI文档中。number_to_currency(m.price,locale::en,precision:0)请注意,您的价格将进行四舍五入,从38.50美元到39.49美元的任何价格都将显示为39美元。编辑:将区域设置:en_us替换为:en,这可能会在更多应用中启用。
我正在尝试在go模板中表示金钱。{{.现金}}但是现在,现金是1000000有没有可能让它输出1,000,000?是否有某种{{.cash|货币}}格式化程序?如果没有,我该如何获得所需的输出?谢谢。 最佳答案 您可以利用github.com/dustin/go-humanize来执行此操作。funcMap:=template.FuncMap{"comma":humanize.Comma,}t:=template.New("").Funcs(templateFuncs).Parse(`Amillion:{{comma.}}`)err
例如,中国货币有ISO4217代码CNY。由于该货币的自由全局交易受到限制,因此存在第二种“离岸”货币等价物,称为CNH。维基百科有一点summary这一切。在Java7中,有一个methodforupdatingJVM附带的一组三字母ISO4217代码。但是,它不能用于向现有国家/地区代码添加单独的货币代码:它会将CNY替换为CNH,这对我的目的不利。如何将CNH(不在ISO4217列表中)添加到Java7中的可用货币集,而不覆盖CNY?换句话说,如何获得一个国家/地区的多个货币代码?注意这个问题:HowdoIaddthenewcurrencycodetoJava?针对Java6被询
getAvailableCurrencies方法仅从API19(Kitkat)开始可用。关于如何在以前的API中实现Currency.getAvailableCurrencies的相同结果有什么想法吗?(我正在研究API15) 最佳答案 以下代码适用于API>=19和API它生成两个CharSequence数组:一个包含按字母顺序排列的货币代码,对应货币货币的描述(代码+符号+货币名称)。Listentries=newArrayList();Listcountries=newArrayList();intcurrentapiVers
我遇到了链接中提到的相同问题:Mongospring-dataissuewithjava.util.Currency我尝试了接受的答案。但它不起作用,我在行中收到NullPointerException:newCustomConversions(Arrays.asList(currencyToString,stringToCurrency));所以我在新类中定义了转换器,如下所示:@ComponentpublicclassCurrencyToStringConverterimplementsConverter{/*(non-Javadoc)*@seecom.fasterxml.jack
我有三个表,currency_types、userdb和user_currency。userdb有货币字段(gold、sapphires、amethysts、garnets,和pkeys)。我想将这些货币字段中的数据移动到user_currency表中。但是user_currency表有字段currency_id和value字段。currency_id字段与currencytypes.id`字段相关。我想我可以通过为每种货币制作一个while循环来做到这一点,但我想不出如何完成它,必须有更好的方法来完成它,我只是没有看见。我知道mysql_*已被弃用。该站点正在重新编码以使用MySQL
用逗号分隔符格式化大数。已解决(代码已更新且完全可用)晚上,我有一个来自Double的类型别名Currency。我想用千位之间的逗号打印它。这是我做的:importFoundationtypealiasCurrency=DoubleextensionCurrency{varcredit:Double{returnself}varusd:Double{returnself*0.62}funcdescription()->String{letprice=selfasNSNumberletformatter=NumberFormatter()formatter.numberStyle=.cu
我只是尝试使用java.util.Currency,但对于少数货币代码,它会抛出java.lang.IllegalArgumentException这是我的简单代码java.util.Currencyc=java.util.Currency.getInstance(code);根据java文档publicstaticCurrencygetInstance(StringcurrencyCode)ReturnstheCurrencyinstanceforthegivencurrencycode.Parameters:currencyCode-theISO4217codeofthecurre
我在运行时不断收到此错误,但我不知道是什么原因造成的。它认为缺少文件?引起:java.io.FileNotFoundException:C:\ProgramFiles\Java\jdk1.7.0_07\lib\currency.data什么是currency.data,谁能告诉我为什么会这样,我的JDK不是那么旧,因为我们现在是7u17。Exceptioninthread"AWT-EventQueue-0"java.lang.InternalErroratjava.util.Currency$1.run(UnknownSource)atjava.security.AccessContr