我有一个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) 我有一个纬度和经度对的数据框.
这是我的数据帧外观.
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) 我正在与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中传递此信息.
我是来自 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) 我有一个像下面的熊猫数据帧..
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) 我有一个熊猫数据框,我希望按时间大于或小于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)
它不起作用因为time
是string object
.
我在熊猫中有以下数据框
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)
但是,它没有给出我想要得到的。
我有像下面这样的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次.在熊猫中有没有更好的方法呢?
我正在将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
?
我正在使用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)