小编aja*_*000的帖子

使用grepl在R中提取子字符串

我有一个表格,其字符串列格式如下

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)

string substring r dataframe

8
推荐指数
4
解决办法
832
查看次数

熊猫数据框按日期排序

我通过导入一个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年,因此,如果按日期对日期进行排序,它应该以升序显示数据吗?

python sorting datetime pandas

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

在R中将列设置为datetime

我的数据集中的日期是这样的: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()?

format datetime r type-conversion

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

计算R中的滚动差

我正在尝试在数据集中进行滚动差异.我有这样一张桌子:

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)

r calculated-columns dataframe

2
推荐指数
3
解决办法
888
查看次数