小编Sta*_*cks的帖子

Python - 将月,日,年组合到日期列中

我正在尝试从多个列年,月和日创建一个日期列,但是我使用标准过程创建日期列时会出现一些错误.

import pandas as pd
from urllib.request import urlopen

url = "https://www.ndbc.noaa.gov/view_text_file.php?filename=42887h2017.txt.gz&dir=data/historical/stdmet/"
data_csv = urlopen(url)
df = pd.read_csv(data_csv, delim_whitespace=True, index_col=0, parse_dates=True)

#Reset Index
df.reset_index(level=0, inplace=True)

#remove 1st row contains erronous characters
df = df.iloc[1:]

#Rename Year column
df = df.rename(columns={'#YY': 'YY'})

df['Date'] = pd.to_datetime((df.YY*10000+df.MM*100+df.DD).apply(str),format='%Y%m%d') 
Run Code Online (Sandbox Code Playgroud)

最后一个命令无法正常工作,因为没有创建日期列.结果:

ValueError:未转换数据依然存在:420142014201420142014201420142014201420142014201420142014201420142014201420142014201420142014201420142014201420142014201420142014201420142014201420142014201420202020202014201

python pandas

2
推荐指数
1
解决办法
1315
查看次数

Pyspark - 从日期和时间列创建时间戳

我在 PySpark 数据框中有一个Date和一个列。Hour如何将它们合并在一起以获得Desired_Calculated_Result列?

df1 = sqlContext.createDataFrame(
  [
     ('2021-10-20','1300', '2021-10-20 13:00:00.000+0000')
    ,('2021-10-20','1400', '2021-10-20 14:00:00.000+0000')
    ,('2021-10-20','1500', '2021-10-20 15:00:00.000+0000')
  ]
  ,['Date', 'Hour', 'Desired_Calculated_Result']
)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

df1.withColumn("TimeStamp", unix_timestamp(concat_ws(" ", df1.Date, df1.Hour), "yyyy-MM-dd HHmm").cast("timestamp")).show(). 
Run Code Online (Sandbox Code Playgroud)

这返回了时间戳列中的所有空值

python apache-spark pyspark

1
推荐指数
1
解决办法
1661
查看次数

R - 用 NA 替换特定值内容

我有一个相当大的数据框,其中有多个“-”代表丢失的数据。数据框由多个 Excel 文件组成,无法使用“na.strings =”或替代函数,因此我必须使用“-”表示导入它们。

如何用 NA / 缺失值替换数据框中的所有“-”?数据框由 200 列字符、因子和整数组成。

到目前为止,我已经尝试过:

sum(df %in c("-"))
returns: [1] 0

df[df=="-"] <-NA #does not do anything

library(plyr)
df <- revalue(df, c("-",NA))
returns: Error in revalue(tmp, c("-", NA)) : 
  x is not a factor or a character vector.

library(anchors)
df <- replace.value(df,colnames(df),"-",as.character(NA))
Error in charToDate(x) : 
  character string is not in a standard unambiguous format
Run Code Online (Sandbox Code Playgroud)

数据框由 200 列字符、因子和整数组成,所以我可以理解为什么最后两个不能正常工作。任何帮助,将不胜感激。

r missing-data plyr

0
推荐指数
2
解决办法
1万
查看次数

为R中的唯一值索引非空值

我有数十万行,其中大多数都缺少值(第2列).基于主键(第1列),我可以假设可以使用与该键相关联的值来估算缺失值.一个例子是必要的.

Primary Key Date       Date.Impute
123         ""  
123         ""  
123         02/02/2017  
1234        ""  
1234        02/03/2017  
1234        ""  
12345       01/01/2017  
12345       ""  
Run Code Online (Sandbox Code Playgroud)

所有订单"123"的日期均为"02/02/2017".所有订单"1234"日期为"02/03/2017"等.

在R中使用或不使用索引匹配功能,如何填写第3列中第2列的所有缺失字段?最终结果如下:

Primary Key Date          Date.Impute
123         ""            02/02/2017
123         ""            02/02/2017
123         02/02/2017    02/02/2017    
1234        ""            02/03/2017
1234        02/03/2017    02/03/2017
1234        ""            02/03/2017
12345       01/01/2017    01/01/2017
12345       ""            01/01/2017
Run Code Online (Sandbox Code Playgroud)

我知道如何在Excel中执行此操作并很乐意分享它,但想了解如何在R中执行此操作.任何帮助将不胜感激.谢谢.

r

-1
推荐指数
1
解决办法
109
查看次数

标签 统计

python ×2

r ×2

apache-spark ×1

missing-data ×1

pandas ×1

plyr ×1

pyspark ×1