我有一个表格,其字符串列格式如下
abcdWorkstart.csv
abcdWorkcomplete.csv
Run Code Online (Sandbox Code Playgroud)
我想提取该文件名中的最后一个字.所以我认为开始模式是"工作"这个词,结束模式是".csv".我用grepl写了一些东西,但没有用.
grepl("Work{*}.csv", data$filename)
Run Code Online (Sandbox Code Playgroud)
基本上我想提取Work和.csv之间的任何东西
期望的结果:
start
complete
Run Code Online (Sandbox Code Playgroud) 我通过导入一个csv文件制作了一个数据框。并将date列转换为datetime并使其成为索引。但是,对索引进行排序时不会产生我想要的结果
print(df.head())
df['Date'] = pd.to_datetime(df['Date'])
df.index = df['Date']
del df['Date']
df.sort_index()
print(df.head())
Run Code Online (Sandbox Code Playgroud)
结果如下:
Date Last
0 2016-12-30 1.05550
1 2016-12-29 1.05275
2 2016-12-28 1.04610
3 2016-12-27 1.05015
4 2016-12-23 1.05005
Last
Date
2016-12-30 1.05550
2016-12-29 1.05275
2016-12-28 1.04610
2016-12-27 1.05015
2016-12-23 1.05005
Run Code Online (Sandbox Code Playgroud)
该日期实际上可以追溯到1999年,因此,如果按日期对日期进行排序,它应该以升序显示数据吗?
我的数据集中的日期是这样的:20130501000000,我正在尝试将其转换为R中更好的日期时间格式
data1$date <- as.Date(data1$date, format = "%Y-%m-%s-%h-%m-%s")
Run Code Online (Sandbox Code Playgroud)
但是,我因需要原点而出错.在我将第一个单元格置于日期之后作为原点时,它将日期下的每个单元格转换为N/A. 这是正确的还是我应该尝试as.POSIXct()?
我正在尝试在数据集中进行滚动差异.我有这样一张桌子:
Year Count
2017 5
2017 6
2017 7
2017 6
2017 8
Run Code Online (Sandbox Code Playgroud)
我想得到一个差异列,从第5行开始计算.所以它看起来像这样
Index Count Diff
1 5 NA
2 6 NA
3 7 NA
4 6 NA
5 8 NA
6 3 -2
7 4 -2
8 9 2
9 2 -4
10 1 -7
Run Code Online (Sandbox Code Playgroud)
现在我只是将count列子集化并与零结合进行计算.这样做有更整洁的方法吗?
这就是我现在正在做的事情:
a <- df$Count[1:5]
b <- rep(0,5)
df$Count1 <- c(b,a)
df$Diff <- df$Count - df$Count1
Run Code Online (Sandbox Code Playgroud)