我正在尝试检索我们放入 Cloud Storage 的数据库备份。长话短说,URL 是 gs://servername/year/date/data.sql
比这稍微复杂一点,但为了这个问题,就可以了。
无论如何,当我使用存储浏览器(项目 -> 存储 -> 存储浏览器)时,我可以进入 /server/2014/2014-09/04/ - 但这就是事情变得奇怪的地方。
子文件夹/目录仅在该日期逐步存在和消失。我可以整天进出 2014-09-04 的存储桶子文件夹,每次都会有不同的结果。有时存在增量数据,有时仅存在模式数据。尝试从存储浏览器下载任何文件都会出现一个大的“未找到”空白错误页面。没有链接,没有 http 响应代码。只是“未找到”。我们所有较旧的日期文件夹都很好。
如果我使用 gsutil 尝试检索整个子文件夹,它会显示:
CommandException:没有匹配的 URL:gs://servername/2014/2014-09-04
我运行的命令是:
gsutil.py mv gs://server/2014/2014-09-04 c:\dbrestore\
然而它就在存储浏览器中,一目了然。(只有一个 ACL,所以我知道这不是问题)为了确保我没有做一些奇怪的事情,我已经复制了它周围的日期,所以 2014-09-03 和 2014-09-05 都是完全可访问的来自存储浏览器和 gsutil。
我不知道可能出了什么问题。坦率地说,桶里的东西看起来塞满了。以前有人遇到过这个问题吗?如果有,您采取了什么措施来纠正它?
我有一个混合了字符串和浮动行的 DateFrame。浮点行仍然是整数,只是因为它们缺少值才更改为浮点数。我想用零填充所有数字的 NaN 行,同时将 NaN 留在字符串列中。这是我目前所拥有的。
df.select_dtypes(include=['int', 'float']).fillna(0, inplace=True)
Run Code Online (Sandbox Code Playgroud)
这不起作用,我认为这是因为 .select_dtypes() 返回 DataFrame 的视图,因此 .fillna() 不起作用。是否有与此类似的方法来仅填充浮点行上的所有 NaN。
您好,我的训练数据中标签中有很多缺失值,例如单个标签可以具有以下值:
[nan, 0, 0, nan, 1, 0]
Run Code Online (Sandbox Code Playgroud)
我想训练一个忽略 nan 值的分类模型。目前我已将 nan 值填充为 -1,并尝试对其进行切片。掩码不起作用,因为分类交叉熵仍然考虑到它
ix = tf.where(tf.not_equal(y_true, -1))
true = tf.gather(y_true, ix)
pred = tf.gather(y_pred, ix)
return keras.objectives.categorical_crossentropy(true, pred)
Run Code Online (Sandbox Code Playgroud)
是我到目前为止所能想到的,但它有错误
InvalidArgumentError (see above for traceback): Incompatible shapes: [131] vs. [128]
[[Node: mul_1 = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](Mean, _recv_dense_3_sample_weights_0/_13)]]
Run Code Online (Sandbox Code Playgroud)
有谁知道如何处理这个问题?
python missing-data keras tensorflow multiclass-classification
如果 an 的任何元素丢失,Statistics 包mean函数将返回。missingarray
julia> using Statistics
julia> mean([1 2 3 4 5] )
3.0
julia> mean([1 2 missing 4 5] ) # Note missing value
missing
Run Code Online (Sandbox Code Playgroud)
如何获得非缺失值的平均值?
我正在处理患者信息数据集,并尝试使用 MATLAB 根据数据计算倾向得分。删除具有许多缺失值的特征后,我仍然留下几个缺失(NaN)值。
当我尝试使用以下 Matlab 代码(来自 Andrew Ng 的 Coursera 机器学习课程)执行逻辑回归时,由于这些缺失值,我会遇到错误,因为我的成本函数和梯度向量的值变为 NaN:
[m, n] = size(X);
X = [ones(m, 1) X];
initial_theta = ones(n+1, 1);
[cost, grad] = costFunction(initial_theta, X, y);
options = optimset('GradObj', 'on', 'MaxIter', 400);
[theta, cost] = ...
fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);
Run Code Online (Sandbox Code Playgroud)
注意:sigmoid 和 costfunction 是我为整体易用性而创建的工作函数。
如果我将所有 NaN 值替换为 1 或 0,则可以顺利执行计算。但是我不确定这是否是处理此问题的最佳方法,而且我也想知道我应该选择(通常)什么替换值获得使用缺失数据执行逻辑回归的最佳结果。使用特定数字(0 或 1 或其他数字)替换数据中所述缺失值有什么好处/缺点吗?
注意:我还将所有特征值标准化为 0-1 范围内。
对于这个问题的任何见解都将受到高度赞赏。谢谢
machine-learning nan missing-data logistic-regression data-cleaning
我正在尝试将 DataFrame 字符串列转换为 Julia 中的日期格式,但如果该列包含缺失值,则会产生错误:
ERROR: MethodError: no method matching Int64(::Missing)
Run Code Online (Sandbox Code Playgroud)
我尝试运行的代码(适用于没有丢失数据的列)是:
df_pp[:tod] = Date.(df_pp[:tod], DateFormat("d/m/y"));
Run Code Online (Sandbox Code Playgroud)
我尝试过的其他代码行是:
df_pp[:tod] = Date.(passmissing(df_pp[:tod]), DateFormat("d/m/y"));
df_pp[.!ismissing.(df_pp[:tod]), :tod] = Date.(df_pp[:tod], DateFormat("d/m/y"));
Run Code Online (Sandbox Code Playgroud)
tod该代码与名为 的数据框中命名的列相关df_pp。DataFrames在尝试此操作之前, &包均已Dates加载。
我有一个包含许多列和许多行的数据框。
col_1 | col_2 | ... | col_n
35 | NA | ... | 2
. | . | . | .
. | . | . | .
. | . | . | .
123 | 90 | ... | NA
Run Code Online (Sandbox Code Playgroud)
某些行包含 NA 值(可以超过 1 个 NA)。
我希望找到包含 1 个 NA 的所有行,并将其替换为其他列的总和。
我如何使用 tidyverse 来实现它?
我正在尝试使用 PySpark 用均值填充 NaN 值。以下是我正在使用的代码,以下是发生的错误:
from pyspark.sql.functions import avg
def fill_with_mean(df_1, exclude=set()):
stats = df_1.agg(*(avg(c).alias(c) for c in df_1.columns if c not in exclude))
return df_1.na.fill(stats.first().asDict())
res = fill_with_mean(df_1, ["MinTemp", "MaxTemp", "Evaporation", "Sunshine"])
res.show()
Run Code Online (Sandbox Code Playgroud)
错误:
Py4JJavaError Traceback (most recent call last)
<ipython-input-35-42f4d984f022> in <module>()
3 stats = df_1.agg(*(avg(c).alias(c) for c in df_1.columns if c not in exclude))
4 return df_1.na.fill(stats.first().asDict())
----> 5 res = fill_with_mean(df_1, ["MinTemp", "MaxTemp", "Evaporation", "Sunshine"])
6 res.show()
5 frames
/usr/local/lib/python3.7/dist-packages/py4j/protocol.py in get_return_value(answer,
gateway_client, target_id, name)
326 …Run Code Online (Sandbox Code Playgroud) 我已经盯着看几个小时了,我不知道在哪里可以找到像这样简单的问题的答案,所以我希望这不是一个重复的问题。
我有一个大数据框(936848 x 12),其中一列是一个编码名称,我可以从中导出其他列的值,在本例中,制造年份是根据列代码的第一个字符得出的。
数据框的小样本:
df <- data.frame(Code = c("AX123", "CL199", "GH679"),
Year = c(NA, "2014", "2018"))
Run Code Online (Sandbox Code Playgroud)
我只想仅在值丢失时才根据列代码更改“年份”列。我不想覆盖年份列中的现有值。
由于这还涉及识别代码中字符串中的第一个字母,因此我使用case_whenand startsWith:
df <- df %>%
filter(is.na(Year)) %>%
mutate(Year = case_when(startsWith(Code, "A") ~ 2013,
startsWith(Code, "C") ~ 2014,
startsWith(Code, "D") ~ 2015,
startsWith(Code, "E") ~ 2016,
startsWith(Code, "F") ~ 2017,
startsWith(Code, "G") ~ 2018,
startsWith(Code, "H") ~ 2019,
startsWith(Code, "J") ~ 2020,
TRUE ~ NA_real_
))
Run Code Online (Sandbox Code Playgroud)
这将给出这个结果:
Code Year
1 AX123 2013
Run Code Online (Sandbox Code Playgroud)
我的问题是我编写此过滤器以过滤掉数据框中所有非 NA 行的方式。我想保持数据框不变,只填充 NA 行。
我正在考虑将其嵌套到 ifelse …
如果包含缺失值,如何创建虚拟变量?我有以下数据,我想根据几个条件创建一个虚拟变量。我的问题是它会自动将我的缺失值转换为 0,但我想将它们保留为缺失值。
import pandas as pd
mydata = {'x' : [10, 50, np.nan, 32, 47, np.nan, 20, 5, 100, 62],
'y' : [10, 1, 5, np.nan, 47, np.nan, 8, 5, 100, 3]}
df = pd.DataFrame(mydata)
df["z"] = ((df["x"] >= 50) & (df["y"] <= 20)).astype(int)
print(df)
Run Code Online (Sandbox Code Playgroud)