我有个问题.我下载了数据并将日期转换为POSIXlt格式
df<-read.csv("007.csv", header=T, sep=";")
df$transaction_date<-strptime(df$transaction_date, "%d.%m.%Y")
df$install_date<-strptime(df$install_date, "%d.%m.%Y")
df$days<- as.numeric(difftime(df$transaction_date,df$install_date, units = "days"))
Run Code Online (Sandbox Code Playgroud)
数据框是关于一个在线游戏中的交易.它包含值(支付),transaction_date,intall_date和ID.我添加了新列,安装后显示.我试图使用dlyr汇总数据
df2<-df %>%
group_by(days) %>%
summarise(sum=sum(value))
我有一个错误:错误:列'transaction_date'具有不受支持的类型:POSIXlt,POSIXt
我该如何解决?
UPD.我将Date列的类更改为Character.它解决了问题.但是我可以使用dlyr而不更改我的数据集中的类吗?
当我创建一个 PyTorch DataLoader 并开始迭代时——我得到了一个非常慢的第一个纪元(x10--x30 比所有下一个纪元都慢)。此外,此问题仅出现在来自 Kaggle 的 Google 地标识别 2020 的训练数据集上。我无法在合成图像上重现此内容,此外,我尝试创建一个包含来自 GLR2020 的 500k 图像的文件夹,并且一切正常。在PyTorch论坛中发现了几个类似的问题,没有任何解决办法。
import argparse
import pandas as pd
import numpy as np
import os, sys
import multiprocessing, ray
import time
import cv2
import logging
import albumentations as albu
from torch.utils.data import Dataset, DataLoader
samples = 50000 # count of samples to speed up test
bs = 64 # batch size
dir = '/hdd0/datasets/ggl_landmark_recognition_2020/train' # directory with train data
all_files = pd.read_csv('/hdd0/datasets/ggl_landmark_recognition_2020/train.csv')
files = np.random.choice(all_files.id.values, 50000)
files = …
Run Code Online (Sandbox Code Playgroud) 我试图MAPE
在 xgboost 中用作评估指标,但得到奇怪的结果:
def xgb_mape(preds, dtrain):
labels = dtrain.get_label()
return('mape', np.mean(np.abs((labels - preds) / (labels+1))))
xgp = {"colsample_bytree": 0.9,
"min_child_weight": 24,
"subsample": 0.9,
"eta": 0.05,
"objective": "reg:linear",
"seed": 70}
cv = xgb.cv(params = xgp,
dtrain = xgb.DMatrix(train_set[cols_to_use], label=train_set.y),
folds = KFold(n = len(train_set), n_folds=4, random_state = 707, shuffle=True),
feval = xgb_mape,
early_stopping_rounds=10,
num_boost_round=1000,
verbose_eval=10,
maximize=False
)
Run Code Online (Sandbox Code Playgroud)
它返回:
[0] train-mape:0.780683+0.00241932 test-mape:0.779896+0.0024619
[10] train-mape:0.84939+0.0196102 test-mape:0.858054+0.0184669
[20] train-mape:1.0778+0.0313676 test-mape:1.10751+0.0293785
[30] train-mape:1.26066+0.0343771 test-mape:1.30707+0.0323237
[40] train-mape:1.37713+0.0347438 test-mape:1.43339+0.030565
[50] train-mape:1.45653+0.042433 test-mape:1.52176+0.0383677
[60] train-mape:1.52268+0.0386395 test-mape:1.5909+0.0353497 …
Run Code Online (Sandbox Code Playgroud) 我有一个带列的数据框:
diff
- 注册日期和付款日期之间的差异,以天为单位country
- 用户国家user_id
campaign_id
-- 另一个分类列,我们将在 groupby 中使用它我需要为每个具有<=n 的country
+campaign_id
组计算不同的用户diff
数。例如,对于country
'A'、campaign
'abc' 和diff
7,我需要从country
'A'、campaign
'abc' 和diff
<= 7 中
我目前的解决方案(如下)工作时间太长
import pandas as pd
import numpy as np
## generate test dataframe
df = pd.DataFrame({
'country':np.random.choice(['A', 'B', 'C', 'D'], 10000),
'campaign': np.random.choice(['camp1', 'camp2', 'camp3', 'camp4', 'camp5', 'camp6'], 10000),
'diff':np.random.choice(range(10), 10000),
'user_id': np.random.choice(range(1000), 10000)
})
## main
result_df = pd.DataFrame()
for diff in …
Run Code Online (Sandbox Code Playgroud) 这是我的代码示例:
ses = SparkSession.Builder().config(conf=conf).enableHiveSupport().getOrCreate()
res = ses.sql("select * from tbl")
res.write.format("hive").saveAsTable("tablename"), mode='append')
res.unpersist()
Run Code Online (Sandbox Code Playgroud)
但执行后htop
发现,该进程使用了63GB RAM。我也尝试过ses.catalog.clearCache()
,什么也没有,仍然使用了 63GB。
如何在不重新初始化 Spark 会话的情况下释放内存?
编辑。我还尝试删除res
对象,htop 中仍然有 63GB。也尝试过这个,它什么也没打印:
for (id, rdd) in ses.sparkContext._jsc.getPersistentRDDs().items():
print(id, rdd)
Run Code Online (Sandbox Code Playgroud) 如何从ipywidgets更改DatePicker的日期格式?默认格式为“ mm / dd / yyyy”,我想将其设置为“ yyyy-mm-dd”吗?
我有10个(例如)具有相似名称的数据帧,如df1,df2,df3,...有10列我想在每个数据帧中给出第10列的名称,如数据帧名称(df1中的第10列必须有"df1")名称,在df2 - "df2"等)
我试过这个
for (i in paste0("df",1:10)){
assign(names(get(i))[10],
value=i
)
}
Run Code Online (Sandbox Code Playgroud)
但没有改变我怎样才能解决这个问题?
我在R中有一个列表,我附上了.
> attach(myList)
> summary(myList)
Length Class Mode
grData 3 data.frame list
maxDate 1 POSIXct numeric
query 1 -none- character
newData 3 data.frame list
updateQuery 1 -none- function
Run Code Online (Sandbox Code Playgroud)
好的,我的名单真的很重要
> search()
[1] ".GlobalEnv" "myList" "package:xlsx" "package:xlsxjars"
[5] "package:rJava" "package:quantmod" "package:TTR" "package:xts"
[9] "package:zoo" "package:tidyr" "package:stringr" "package:RPostgreSQL"
[13] "package:DBI" "package:dplyr" "tools:rstudio" "package:stats"
[17] "package:graphics" "package:grDevices" "package:utils" "package:datasets"
[21] "package:methods" "Autoloads" "package:base"
Run Code Online (Sandbox Code Playgroud)
我列表中的grData数据框有11行:
> summary(myList$grData)
date application_id value
Min. :2016-10-01 Min. : 7.0 Min. : 5769
1st Qu.:2016-10-01 1st Qu.: …
Run Code Online (Sandbox Code Playgroud) 我有df
包含列的数据框:a
, b
, c
, d
。我想对数据进行分组a
并进行一些计算。我将在 R 中提供这个计算的代码。我的主要问题是如何在 Pandas 中做同样的事情?
library(dplyr)
df %>%
group_by(a) %>%
summarise(mean_b = mean(b),
qt95 = quantile(b, .95),
diff_b_c = max(b-c),
std_b_d = sd(b)-sd(d)) %>%
ungroup()
Run Code Online (Sandbox Code Playgroud)
这个例子是合成的,我只是想了解pandas的语法
python ×6
r ×3
pandas ×2
apache-spark ×1
assign ×1
dataframe ×1
dataloader ×1
datepicker ×1
dplyr ×1
ipywidgets ×1
loops ×1
posixlt ×1
pyspark ×1
pytorch ×1
summary ×1
xgboost ×1