小编Nei*_*eil的帖子

dplyr group不在Shiny工作

我正在使用R闪亮的应用程序,因为我有两个下拉框.第一个下拉列表中填充了分类变量,第二个下拉列表中填充了数值变量.然后我在分类变量上应用groupby.这是我的代码.

dataset<- dataUpload()

var1 <- as.character(input$variable1)
var2 <- as.character(input$variable2)

v$data <- dataset %>%
  group_by(dataset[,var1]) %>%
  summarize(Sum=sum(dataset[,var2])) %>%
  arrange(desc(Sum))
Run Code Online (Sandbox Code Playgroud)

它给了我以下输出.

 Source: local data frame [7 x 2]

  dataset[[var1]]                Sum
           (fctr)               (int)

1     Chicken Biryani            37
2       Chicken Kabab            37
3       Chicken Kadai            37
4         Dal Makhani            37
5 Sai Bhaji and Pulav            37
6          Tava Pulav            37
7          Total Meal            37
Run Code Online (Sandbox Code Playgroud)

这是dish_quantity变量的总和.但是我想要这样的东西.

dish_quant <- df_final %>%
              group_by(dish_name) %>%
              summarize(Dish_Quantity=sum(dish_quantity)) %>%
              arrange(desc(Dish_Quantity))

        dish_name           Dish_Quantity
           (fctr)              (int)
 1       Chicken Kadai            11
 2     Chicken …
Run Code Online (Sandbox Code Playgroud)

group-by r shiny dplyr

5
推荐指数
1
解决办法
1000
查看次数

如何在熊猫数据框中获取数字列名称

我有具有object,int64,float64数据类型的pandas数据框。我想获取列的列名int64 and float64。我在熊猫中使用以下命令,但似乎不起作用

cat_num_prv_app = [num for num in list(df.columns) if isinstance(num, (np.int64,np.float64))]
Run Code Online (Sandbox Code Playgroud)

以下是我的数据类型

 df.info()
 <class 'pandas.core.frame.DataFrame'>
 RangeIndex: 1670214 entries, 0 to 1670213
 Data columns (total 37 columns):
 ID               1670214 non-null int64
 NAME             1670214 non-null object
 ANNUITY          1297979 non-null float64
 AMOUNT           1670214 non-null float64
 CREDIT           1670213 non-null float64
Run Code Online (Sandbox Code Playgroud)

我想将列名存储ID,ANNUITY,AMOUNT and CREDIT在变量中,以后可以用它来对数据框进行子集化。

python pandas

5
推荐指数
1
解决办法
3910
查看次数

如何在熊猫中将多种日期格式转换为一种格式

我有以下带有日期列的熊猫数据框 object

   ID      Date                  Volume
   0       13-02-2018 00:06       85
   1       13-02-2018 00:10       70
   2       13-02-2018 00:11       100
   3       2018-02-13 06:30       123
   4       02-13-2018 07:56       100
Run Code Online (Sandbox Code Playgroud)

我想将其转换为以下一种格式

   ID      Date                  Volume
   0       2018-02-13 00:06       85
   1       2018-02-13 00:10       70
   2       2018-02-13 00:11       100
   3       2018-02-13 06:30       123
   4       2018-02-13 07:56       100
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过以下命令来实现这一目标

df['Date'] = df.date.apply(lambda x: pd.to_datetime(x).strftime('%Y-%m-%d %H:%M')[0])
Run Code Online (Sandbox Code Playgroud)

但它会引发错误。我怎样才能在熊猫中做到这一点?

python pandas

5
推荐指数
1
解决办法
6141
查看次数

成对的半径距离计算

我有两个lat和long数组.我想计算每对lat和long之间的距离,以及阵列中每隔一对lat和long.这是我的两个数组.

lat_array

array([ 0.33356456,  0.33355585,  0.33355585,  0.33401788,  0.33370132,
        0.33370132,  0.33370132,  0.33371075,  0.33371075,  0.33370132,
        0.33370132,  0.33370132,  0.33356488,  0.33356488,  0.33370132,
        0.33370132,  0.33370132,  0.33401788,  0.33362632,  0.33362632,
        0.33364007,  0.33370132,  0.33401788,  0.33401788,  0.33358399,
        0.33358399,  0.33358399,  0.33370132,  0.33370132,  0.33362632,
        0.33370132,  0.33370132,  0.33370132,  0.33370132,  0.33370132,
        0.33356488,  0.33356456,  0.33391071,  0.33370132,  0.33356488,
        0.33356488,  0.33356456,  0.33356456,  0.33356456,  0.33362632,
        0.33364804,  0.3336314 ,  0.33370132,  0.33370132,  0.33370132,
        0.33364034,  0.33359921,  0.33370132,  0.33360397,  0.33348863,
        0.33370132])
long_array

array([ 1.27253229,  1.27249141,  1.27249141,  1.27259085,  1.2724337 ,
        1.2724337 ,  1.2724337 ,  1.27246931,  1.27246931,  1.2724337 ,
        1.2724337 ,  1.2724337 , …
Run Code Online (Sandbox Code Playgroud)

python arrays performance numpy haversine

4
推荐指数
3
解决办法
2118
查看次数

如何将小时添加到pandas dataframe列

我有一个像下面这样的pandas数据帧时间列.

 segments_data['time']
 Out[1585]: 
 0      04:50:00
 1      04:50:00
 2      05:00:00
 3      05:12:00
 4      06:04:00
 5      06:44:00
 6      06:44:00
 7      06:47:00
 8      06:47:00
 9      06:47:00
Run Code Online (Sandbox Code Playgroud)

我想在上面的时间栏上添加5小时30分钟.我在python中做跟随.

pd.DatetimeIndex(segments_data['time']) + pd.DateOffset(hours=5,minutes=30)
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误.

TypeError: object of type 'datetime.time' has no len()
Run Code Online (Sandbox Code Playgroud)

请帮忙.

python datetime dataframe pandas

4
推荐指数
3
解决办法
6620
查看次数

将文本与 r 中的数据框列匹配

我在 r 中有一个词向量。

words = c("Awesome","Loss","Good","Bad")
Run Code Online (Sandbox Code Playgroud)

而且,我在 r 中有以下数据框

ID           Response
1            Today is an awesome day
2            Yesterday was a bad day,but today it is good
3            I have losses today
Run Code Online (Sandbox Code Playgroud)

我想要做的是应该提取响应列中匹配的单词并将其插入到数据框中的新列中。最终输出应如下所示

ID           Response                        Match          Count 
1            Today is an awesome day        Awesome           1
2            Yesterday was a bad day        Bad,Good          2 
             ,but today it is good      
3            I have losses today             Loss             1
Run Code Online (Sandbox Code Playgroud)

我在 r 中做了以下

sapply(words,grepl,df$Response)
Run Code Online (Sandbox Code Playgroud)

它与单词匹配,但是如何以所需格式获取数据框?请帮忙。

r

4
推荐指数
1
解决办法
1768
查看次数

如何通过一些标签在大叶草地图组上从熊猫数据框绘制纬度和经度

我有如下的熊猫数据框

Latitude          Longitude          Class
 40.7145           -73.9425            A
 40.7947           -73.9667            B
 40.7388           -74.0018            A
 40.7539           -73.9677            B
Run Code Online (Sandbox Code Playgroud)

我想在大叶地图上绘制以上内容,该地图还将显示与经度和纬度相关的类。
我正在使用以下代码。

import folium

map_osm = folium.Map(location=[40.742, -73.956])
train_df.apply(lambda row:folium.CircleMarker(location=[row["Latitude"], 
                                                  row["Longitude"]]).add_to(map_osm),
     axis=1)
Run Code Online (Sandbox Code Playgroud)

如何绘制和显示类,以便在地图上更容易理解点的类明智分布。

pandas folium

4
推荐指数
1
解决办法
3992
查看次数

如何在dplyr中查找组中的前N个降序值

我在R中有一个以下数据帧

  Serivce     Codes
   ABS         RT
   ABS         RT
   ABS         TY
   ABS         DR
   ABS         DR
   ABS         DR
   ABS         DR
   DEF         RT
   DEF         RT
   DEF         TY
   DEF         DR
   DEF         DR
   DEF         DR
   DEF         DR
   DEF         TY
   DEF         SE
   DEF         SE
Run Code Online (Sandbox Code Playgroud)

我想要的是服务明智的代码计数降序

  Serivce     Codes    Count
   ABS         DR        4
   ABS         RT        2 
   ABS         TY        1
   DEF         DR        4
   DEF         RT        2
   DEF         TY        2  
Run Code Online (Sandbox Code Playgroud)

我正在关注r

df%>% 
group_by(Service,Codes) %>% 
summarise(Count = n()) %>%
top_n(n=3,wt = Count) %>% 
arrange(desc(Count)) %>% 
as.data.frame()   
Run Code Online (Sandbox Code Playgroud)

但是,它并没有给我什么意图.

r

4
推荐指数
1
解决办法
4248
查看次数

如何在python中基于数组的子集列表

我在列表中有以下列名:

 vars = ['age','balance','day','duration','campaign','pdays','previous','job_admin.','job_blue-collar']
Run Code Online (Sandbox Code Playgroud)

我有一个由数组索引组成的数组

(array([1, 5, 7], dtype=int64),)
Run Code Online (Sandbox Code Playgroud)

我想基于数组索引对列表进行子集化

期望的输出应该是

vars = ['balance','pdays','job_admin.']
Run Code Online (Sandbox Code Playgroud)

我在python中尝试过类似的东西

for i, a in enumerate(X):
   if i in new_L:
       print i
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.

python list python-2.7

4
推荐指数
2
解决办法
334
查看次数

如何在plotly python中的所有子图中添加水平线

0.09 and -0.09我想在我在绘图中生成的每个子图中添加水平线。以下是我执行此操作的代码。

  trace1 = go.Scatter(
    x=df1['transaction_date'],
    y=df1['difference'],
    )
  trace2 = go.Scatter(
    x=df2['transaction_date'],
    y=df2['difference'],
)

 trace3 = go.Scatter(
   x=df3['transaction_date'],
   y=df3['difference'],

 )
 trace4 = go.Scatter(
   x=df4['transaction_date'],
   y=df4['difference'],

 )

 fig = tools.make_subplots(rows=2, cols=2,subplot_titles=('DF1 HS', DF2 HSD',
                                                     'DF3 HD', 'DF4 SD',
                                                     ))

 fig.append_trace(trace1, 1, 1)
 fig.append_trace(trace2, 1, 2)
 fig.append_trace(trace3, 2, 1) 
 fig.append_trace(trace4, 2, 2)
Run Code Online (Sandbox Code Playgroud)

然后我想将这 4 个子图保存jpeg在磁盘上。我怎样才能在Python中做到这一点

python plotly

4
推荐指数
1
解决办法
1万
查看次数