我是 R 新手。我的问题是如何使用缺失数据点之前和之后的平均值来估算缺失值?
例子;
使用每个 NA 的上限和下限的平均值作为插补值。
-第 3 行的平均值为 38.5
-第 7 行的平均值为 32.5
age
52.0
27.0
NA
23.0
39.0
32.0
NA
33.0
43.0
Run Code Online (Sandbox Code Playgroud)
谢谢你。
我在因子变量中遇到 NA 问题,因为 ggplot 将它们包含在图中,就好像它们是另一个类别/级别一样。我想删除丢失的数据。很抱歉,我目前手头没有代码,我尝试从我发现的数据集中删除因子级别data(),但没有奏效。
有人遇到同样的问题吗?
我尝试了此处建议的解决方案从 ggplot 条形图中删除未使用的因子水平,但出现错误
错误:意外符号:mycode
有人可以建议吗?
另外,如果无法从 ggplot 代码中删除它们,如何从因子变量中删除 NA?
我想替换数据框列中的缺失值。我写了以下代码
MedianImpute <- function(data=data)
{
for(i in 1:ncol(data))
{
if(class(data[,i]) %in% c("numeric","integer"))
{
if(sum(is.na(data[,i])))
{
data[is.na(data[,i]),i] <-
median(data[,i],na.rm = TRUE)
}
}
}
return(data)
}
Run Code Online (Sandbox Code Playgroud)
这将返回 NA 被列中位数替换的数据帧。我不想使用 for 循环,如何使用 R 中的任何应用函数获得相同的结果?
PostgreSQL 中是否实现了最后观察结转 (LOCF) 数据插补方法?
如果没有,我该如何实现这个方法?
我有一个像这样的数据框 df
df = pd.DataFrame([
{'Name': 'Chris', 'Item Purchased': 'Sponge', 'Cost': 22.50},
{'Name': 'Kevyn', 'Item Purchased': 'Kitty Litter', 'Cost': '.........'},
{'Name': 'Filip', 'Item Purchased': 'Spoon', 'Cost': '...'}],
index=['Store 1', 'Store 1', 'Store 2'])
Run Code Online (Sandbox Code Playgroud)
我想将“成本”列中的缺失值替换为np.nan. 到目前为止,我已经尝试过:
df['Cost']=df['Cost'].str.replace("\.\.+", np.nan)
Run Code Online (Sandbox Code Playgroud)
和
df['Cost']=re.sub('\.\.+',np.nan,df['Cost'])
Run Code Online (Sandbox Code Playgroud)
但它们似乎都不能正常工作。请帮忙。
如何填写此日期框架中的缺失数据。
没有销售的天数缺失值。如何填写在特定商店和日期售出 0 件商品的天数的缺失值?
输入
Dates Store Item Sales
2017-01-01 Chicago Apple 10
2017-01-02 NewYork Pear 10
2017-01-03 Chicago Apple 10
Run Code Online (Sandbox Code Playgroud)
输出
Dates Store Item Sales
2017-01-01 Chicago Apple 10
2017-01-01 Chicago Pear 0
2017-01-02 Chicago Apple 0
2017-01-02 Chicago Pear 0
2017-01-03 Chicago Apple 10
2017-01-03 Chicago Pear 0
2017-01-01 NewYork Apple 0
2017-01-01 NewYork Pear 0
2017-01-02 NewYork Apple 0
2017-01-02 NewYork Pear 10
2017-01-03 NewYork Apple 0
2017-01-03 NewYork Pear 0
Run Code Online (Sandbox Code Playgroud) 我的问题是:如何以表格格式制作JQ输出,用0替换不存在的值?
因此 JQ 的输入是以下 Elastic Search JSON 响应:
{"aggregations": {
"overall": {
"buckets": [
{
"key": "2018-01-18T00:00:00.000Z-2018-01-25T19:33:16.010Z",
"from_as_string": "2018-01-18T00:00:00.000Z",
"to": 1516908796010,
"to_as_string": "2018-01-25T19:33:16.010Z",
"doc_count": 155569,
"agg_per_name": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "ASSET-DD583",
"doc_count": 3016,
"totalMaxUptime_perDays": {
"buckets": [
{
"key_as_string": "2018-01-22T00:00:00.000Z",
"key": 1516579200000,
"doc_count": 161,
"totalMaxUptime": {
"value": 77598
}
},
{
"key_as_string": "2018-01-23T00:00:00.000Z",
"key": 1516665600000,
"doc_count": 251,
"totalMaxUptime": {
"value": 80789
}
},
{
"key_as_string": "2018-01-24T00:00:00.000Z",
"key": 1516752000000,
"doc_count": 192,
"totalMaxUptime": {
"value": 56885
} …Run Code Online (Sandbox Code Playgroud) 我有一个数据集,比方说,420x1。现在我要计算过去 30 天的移动平均值,不包括当前日期。
如果我执行以下操作:
df.rolling(window = 30).mean().shift(1)
Run Code Online (Sandbox Code Playgroud)
我的 df 导致窗口中有很多 NaN,这可能是由原始数据帧中的 NaN 引起的(30 个数据点中的 1 NaN 导致 MA 为 NaN)。
有没有忽略 NaN 的方法(避免应用方法,我在大数据上运行它所以性能是关键)?我不想用 0 替换该值,因为这可能会扭曲结果。
这同样适用于移动标准差。
我有一个数据集,其中一列包含与另一列相关性相对较高的缺失值。我想使用 sklearn.impute 中的 IterativeImputer 但我收到此错误:
ImportError: cannot import name 'IterativeImputer'
Run Code Online (Sandbox Code Playgroud)
我升级了我的 conda,我的 scikitlearn 包,但还没有解决!
我正在尝试查找缺失值,然后删除缺失值。尝试在线查找数据,但似乎无法找到答案。
提取的数据框:
在df中,对于1981年和1982年,应该是'-',即缺失值。我想找到缺失值然后去掉缺失值。
我使用了 df.isnull() 但在 1981 年和 1982 年,它被检测为“假”,这意味着有数据。但它应该是'-',因此被视为缺失值。
我在下面粘贴了我的代码。我错过了什么?
import pandas as pd
mydf = pd.read_excel('abc.xlsx', sep='\t')
df1 = mydf.set_index('Variables')
df = df1[0:10]
print(df)
print(df.isnull())
Run Code Online (Sandbox Code Playgroud) missing-data ×10
pandas ×4
python ×4
dataframe ×3
r ×3
imputation ×2
apply ×1
bash ×1
find ×1
for-loop ×1
ggplot2 ×1
jq ×1
json ×1
locf ×1
nan ×1
postgresql ×1
python-2.7 ×1
python-3.x ×1
scikit-learn ×1
tabular ×1