如果import pandas as pd
dates = [pd.to_datetime('2014-03-13', format='%Y-%m-%d'), pd.to_datetime('2014-03-13', format='%Y-%m-%d'), pd.to_datetime('2014-03-13', format='%Y-%m-%d'), pd.to_datetime('2014-03-13', format='%Y-%m-%d'),
pd.to_datetime('2014-03-13', format='%Y-%m-%d'),pd.to_datetime('2014-03-14', format='%Y-%m-%d'), pd.to_datetime('2014-03-14', format='%Y-%m-%d'), pd.to_datetime('2014-03-14', format='%Y-%m-%d'),
pd.to_datetime('2014-03-14', format='%Y-%m-%d'), pd.to_datetime('2014-03-14', format='%Y-%m-%d')]
values = [-3,-6,-3.2,-3.1,-5,-3.4,-6.2,-3.2,-3.2,-5.9]
Ids = [1,2,3,4,5,1,2,3,4,5]
df = pd.DataFrame({'Id': pd.Series(Ids, index=dates),
'value': pd.Series(values, index=dates)})
df = df.groupby([df.index,'Id']).sum()
的值低于某个值,是否可以返回HashMap
的所有值?这是哈希:
Map<String, Integer> StockIO = new HashMap<>();
String
是库存商品,Integer
是库存价值。
我确定我在这里错过了一些简单的东西。
这是使用jbutton点击的正确工作和测试代码,然后打印到textarea:
private void OrderActionPerformed(java.awt.event.ActionEvent evt) {
Set<String> keys = new HashSet<>();
for(Map.Entry<String,Integer> entry: StockIO.entrySet())
{
if (entry.getValue() <= 10)
{
keys.add(entry.getKey());
Oresult.setText(entry.getKey());
}
}
}
答案 0 :(得分:0)
是的,但效率不高。如果您想要订购,请使用有序地图,即TreeMap
。
答案 1 :(得分:0)
您想要的是有效过滤您的密钥集合。
使用此代码,您将获得值低于或等于特定阈值的所有键。
public static Set<String> keysWithValuesBelowThreshold(Map<String,Integer> map, int threshold) {
Set<String> keys = new HashSet<>();
for(Map.Entry<String,Integer> entry: map.entrySet()) {
if (entry.getValue() <= threshold) {
keys.add(entry.getKey());
}
}
return keys;
}
使用Java 8:
public static Set<String> keysWithValuesBelowThreshold(Map<String,Integer> map, int threshold) {
return map.entrySet().stream()
.filter(e -> e.getValue() <= threshold)
.map(Map.Entry::getKey)
.collect(Collectors.toSet());
}
答案 2 :(得分:0)
我没有完全解答您的问题,但请查看下面的代码。可能是你想要的:
HashMap<String,Integer> jj=new HashMap<String, Integer>();
jj.put("A",10);
jj.put("B",20);
jj.put("c",30);
jj.put("Bd",50);
jj.put("Af",40);
jj.put("Bd",240);
jj.put("Ads",130);
jj.put("Bde",240);
jj.put("As",130);
jj.put("Bfe",210);
int threshold=100;
for(String key:jj.keySet()){
String stock_item=key;
Integer stock_value=jj.get(key);
if(stock_value<threshold)
System.out.println("Item:"+stock_item+" "+" Value:"+stock_value+"\n");
}`