我正在使用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) 我有具有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在变量中,以后可以用它来对数据框进行子集化。
我有以下带有日期列的熊猫数据框 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)
但它会引发错误。我怎样才能在熊猫中做到这一点?
我有两个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) 我有一个像下面这样的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)
请帮忙.
我在 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)
它与单词匹配,但是如何以所需格式获取数据框?请帮忙。
我有如下的熊猫数据框
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)
如何绘制和显示类,以便在地图上更容易理解点的类明智分布。
我在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)
但是,它并没有给我什么意图.
我在列表中有以下列名:
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)
但是,它不起作用.
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中做到这一点