小编Nei*_*eil的帖子

如何将数据帧转换为R中的时间序列

我有一个csv文件,其中我有2个股票收盘价(每天)

Dates   Bajaj_close Hero_close
3/14/2013   1854.8  1669.1
3/15/2013   1850.3  1684.45
3/18/2013   1812.1  1690.5
3/19/2013   1835.9  1645.6
3/20/2013   1840    1651.15
3/21/2013   1755.3  1623.3
3/22/2013   1820.65 1659.6
3/25/2013   1802.5  1617.7
3/26/2013   1801.25 1571.85
3/28/2013   1799.55 1542
Run Code Online (Sandbox Code Playgroud)

我想将上述数据转换为时间序列格式.(开始日期是3/14/2013 和结束日期是3/13/2015)我试过这个,但它给了我一些奇怪的输出

values <- bajaj_hero[, -1]  (excluded first column i.e date in real dataset)
bajaj_hero_timeseries <- ts(values,start=c(2013,1),end=c(2015,3),frequency=365)
Run Code Online (Sandbox Code Playgroud)

输出是:

           Bajaj_close Hero_close
2013.000     1854.80    1669.10
2013.003     1850.30    1684.45
2013.005     1812.10    1690.50
2013.008     1835.90    1645.60
2013.011     1840.00    1651.15
2013.014     1755.30    1623.30
2013.016     1820.65    1659.60
2013.019     1802.50 …
Run Code Online (Sandbox Code Playgroud)

r time-series

28
推荐指数
3
解决办法
9万
查看次数

DBSCAN用于聚类地理位置数据

我有一个纬度和经度对的数据框.

这是我的数据帧外观.

    order_lat  order_long
0   19.111841   72.910729
1   19.111342   72.908387
2   19.111342   72.908387
3   19.137815   72.914085
4   19.119677   72.905081
5   19.119677   72.905081
6   19.119677   72.905081
7   19.120217   72.907121
8   19.120217   72.907121
9   19.119677   72.905081
10  19.119677   72.905081
11  19.119677   72.905081
12  19.111860   72.911346
13  19.111860   72.911346
14  19.119677   72.905081
15  19.119677   72.905081
16  19.119677   72.905081
17  19.137815   72.914085
18  19.115380   72.909144
19  19.115380   72.909144
20  19.116168   72.909573
21  19.119677   72.905081
22  19.137815   72.914085
23  19.137815   72.914085
24  19.112955   72.910102
25 …
Run Code Online (Sandbox Code Playgroud)

python cluster-analysis dbscan

20
推荐指数
3
解决办法
3万
查看次数

dplyr group by on multiple columns

我正在与R shine合作进行一些探索性数据分析.我有两个复选框输入,在一个复选框中我填充所有分类变量,其他都是数字变量.然后我在这两个选项上应用groupby如下.

var1 <- input$variable1      # Checkbox with categorical variables
var2 <- input$variable2      # Checkbox with numerical variables

v$data <- dataset %>%
  group_by_(var1) %>%
  summarize_(Sum = interp(~sum(x), x = as.name(var2))) %>%
  arrange(desc(Sum))
Run Code Online (Sandbox Code Playgroud)

当只有1列的groupby时,哪种工作完全正常,但我想在多列上进行分组.当用户选择多个分类变量时,它会返回一个包含列名的数组.如何在dplyr groupby中传递此信息.

group-by r shiny dplyr

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

类 datetime.time 不能转换为 pandas 中的日期时间

我是来自 R 背景的 Python 新手,我在 pandas 中有以下时间列

   time
   09:12:23
   09:34:33
   10:23:22
   11:23:33
Run Code Online (Sandbox Code Playgroud)

我想将其转换为 pandas 的时间对象,我正在 python 中执行以下操作

     df['time'] = pd.to_datetime(df['time']).dt.time
Run Code Online (Sandbox Code Playgroud)

为什么它向我显示以下错误。

   class datetime.time is not convertible to datetime
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何计算具有条件的连续pandas数据帧行之间的日差异

我有一个像下面的熊猫数据帧..

item_id        date
  101     2016-01-05
  101     2016-01-21
  121     2016-01-08
  121     2016-01-22
  128     2016-01-19
  128     2016-02-17
  131     2016-01-11
  131     2016-01-23
  131     2016-01-24
  131     2016-02-06
  131     2016-02-07
Run Code Online (Sandbox Code Playgroud)

我想计算日期列之间的日差,但是相对于item_id列.首先,我想在item_id上使用日期分组对数据帧进行排序.它看起来应该是这样的

item_id        date     
  101     2016-01-05         
  101     2016-01-08         
  121     2016-01-21         
  121     2016-01-22         
  128     2016-01-17         
  128     2016-02-19
  131     2016-01-11
  131     2016-01-23
  131     2016-01-24
  131     2016-02-06
  131     2016-02-07
Run Code Online (Sandbox Code Playgroud)

然后我想计算再次分组的日期之间的差异item_id所以输出应该如下所示

 item_id        date      day_difference 
  101     2016-01-05          0
  101     2016-01-08          3
  121     2016-01-21          0
  121     2016-01-22          1
  128     2016-01-17          0
  128     2016-02-19          2
  131     2016-01-11          0
  131 …
Run Code Online (Sandbox Code Playgroud)

python pandas

7
推荐指数
1
解决办法
5239
查看次数

按时间过滤pandas数据帧

我有一个熊猫数据框,我希望按时间大于或小于12 pm.首先我将我的字符串日期时间转换为pandas中的datetime [64] ns对象.

segments_data['time'] = pd.to_datetime((segments_data['time']))
Run Code Online (Sandbox Code Playgroud)

然后我将时间,日期,月份,年份和日期分开如下.

import datetime as dt

segments_data['date'] = segments_data.time.dt.date
segments_data['year'] = segments_data.time.dt.year
segments_data['month'] = segments_data.time.dt.month
segments_data['dayofweek'] = segments_data.time.dt.dayofweek
segments_data['time'] = segments_data.time.dt.time
Run Code Online (Sandbox Code Playgroud)

我的时间栏如下所示.

segments_data['time']
Out[1906]: 
  07:43:00
  07:52:00
  08:00:00
  08:42:00
  09:18:00
  09:18:00
  09:18:00
  09:23:00
  12:32:00
  12:43:00
  12:55:00
  Name: time, dtype: object
Run Code Online (Sandbox Code Playgroud)

现在我希望将数据帧的子集大于12pm,时间少于12pm.

segments_data.time[segments_data['time'] < 12:00:00]
Run Code Online (Sandbox Code Playgroud)

它不起作用因为timestring object.

python datetime pandas

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

如何在熊猫的多个列上分组和汇总

我在熊猫中有以下数据框

 ID     Balance     ATM_drawings    Value
 1      100         50              345 
 1      150         33              233
 2      100         100             333 
 2      100         100             234
Run Code Online (Sandbox Code Playgroud)

我希望数据以所需的格式

 ID     Balance_mean    Balance_sum     ATM_Drawings_mean    ATM_drawings_sum 
 1      75              250             41.5                 83 
 2      200             100             200                  100
Run Code Online (Sandbox Code Playgroud)

我正在使用以下命令在熊猫中做到这一点

 df1= df[['Balance','ATM_drawings']].groupby('ID', as_index = False).agg(['mean', 'sum']).reset_index()
Run Code Online (Sandbox Code Playgroud)

但是,它没有给出我想要得到的。

python indexing dataframe pandas pandas-groupby

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

如何在半小时间隔内划分大熊猫日期时间列

我有像下面这样的pandas数据帧

  date                      value     
  2018-02-12 17:30:00       23
  2018-02-12 17:34:00       45
  2018-02-12 17:36:00       23
  2018-02-12 17:45:00       56
  2018-02-12 18:37:00       54
Run Code Online (Sandbox Code Playgroud)

所需的熊猫数据帧

  date                      value        half_hourly_bucket  
  2018-02-12 17:30:00       23           17:30-17:59
  2018-02-12 17:34:00       45           17:30-17:59
  2018-02-12 17:36:00       23           17:30-17:59
  2018-02-12 17:45:00       56           17:30-17:59
  2018-02-12 18:37:00       54           18:30-18:59
Run Code Online (Sandbox Code Playgroud)

同样明智的是,我有24小时的数据.我不想使用if else循环48次.在熊猫中有没有更好的方法呢?

python pandas

6
推荐指数
1
解决办法
161
查看次数

如何从Google Places API中的位置ID中获取位置详细信息

我正在将Google Places API与Python结合使用,以构建食品的集体情报应用。例如周围有哪些餐馆,它们的评级如何,时间如何等等。

我在Python中执行以下操作:

from googleplaces import GooglePlaces, types, lang

API_KEY = ''

google_places = GooglePlaces(API_KEY)

query_result = google_places.nearby_search(
    location='Mumbai', keyword='Restaurants',
    radius=1000, types=[types.TYPE_RESTAURANT])

if query_result.has_attributions:
   print query_result.html_attributions


for place in query_result.places:
    print place.name
    print place.geo_location
    print place.place_id  
Run Code Online (Sandbox Code Playgroud)

它返回我这样的东西:

Subway
{u'lat': Decimal('19.1156005'), u'lng': Decimal('72.9090715')}
ChIJV2JWaObH5zsRt-FrEb8lrtM
Aroma's Cafe
{u'lat': Decimal('19.116867'), u'lng': Decimal('72.90982199999999')}
ChIJSWijB-bH5zsRVLE5ipsxvHU
Chili's
{u'lat': Decimal('19.1161942'), u'lng': Decimal('72.90909789999999')}
ChIJ4_2UcubH5zsRWMemt2WTsLc
Mainland China
{u'lat': Decimal('19.1154358'), u'lng': Decimal('72.90858159999999')}
ChIJ88dcaObH5zsRWLT4KyCLkI8
The Yellow Chilli
Run Code Online (Sandbox Code Playgroud)

现在,我想了解每家餐厅的详细信息(例如其评分,评论,时间安排)。如何使用检索信息place_id

python google-places-api

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

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
查看次数