大家先谢谢你们的时间.我在格式中有许多以空格分隔的文本文件;
29 04 13 18 15 00 7.667
29 04 13 18 30 00 7.000
29 04 13 18 45 00 7.000
29 04 13 19 00 00 7.333
29 04 13 19 15 00 7.000
Run Code Online (Sandbox Code Playgroud)
采用DD MM YY HH MM SS格式和我的结果值.我正在尝试使用Python的pandas读取txt文件.在发布这个问题之前,我已经尝试过对此进行相当多的研究,所以希望我没有覆盖这个问题.
基于反复试验和研究,我提出了:
import pandas as pd
from cStringIO import StringIO
def parse_all_fields(day_col, month_col, year_col, hour_col, minute_col,second_col):
day_col = _maybe_cast(day_col)
month_col = _maybe_cast(month_col)
year_col = _maybe_cast(year_col)
hour_col = _maybe_cast(hour_col)
minute_col = _maybe_cast(minute_col)
second_col = _maybe_cast(second_col)
return lib.try_parse_datetime_components(day_col, month_col, year_col, hour_col, …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个折线图,显示未检测到的数据的开放符号和表示检测到的数据的封闭(填充)符号。这是一些可以使用的代码:
date <- c("1991-04-25","1991-04-26","1991-04-27","1991-04-28","1991-04-29","1991-04-25","1991-04-26","1991-04-27","1991-04-28","1991-04-29","1991-04-25","1991-04-26","1991-04-27","1991-04-28","1991-04-29")
Parameter <- c("TEA","TEA","TEA","TEA","TEA","COFFEE","COFFEE","COFFEE","COFFEE","COFFEE","WATER","WATER","WATER","WATER","WATER")
data <- c(5,4,7,3,6,4,6,8,6,3,7,8,7,6,7)
DetectYN <- c("Y","N","Y","Y","Y","N","Y","Y","Y","N","N","N","Y","Y","N")
df <- data.frame(date, Parameter,data, DetectYN)
df$date <- as.Date(df$date, "%Y-%m-%d" )
df$DetectYN <-as.character(df$DetectYN)
ggplot(df, aes(x=date, y=data)) +
geom_point(size=4, aes(shape = Parameter , colour= Parameter)) +
geom_line(aes(x=date, y=data,color = Parameter)) +
scale_shape_manual(values=ifelse(DetectYN == "Y",c(15,16,17),c(0,1,2)) , guide = "none")
Run Code Online (Sandbox Code Playgroud)
这将创建以下图表 - 几乎正确,只是我的 ifelse 没有达到预期的效果。我希望 DetectYN =“N”为空心(无填充),并且我希望 DetectYN =“Y”被填充。现有的符号需要保留。有人可以帮我解决这个问题吗?
我希望有人能够帮助我.我有两张桌子,一张是学生姓名,另一张是每个学生每周完成的家庭作业,不是一个真实的例子.只有一名学生做过任何工作.我希望看到一张表格,显示所有学生和他们做了多少工作(即使每周都是空的.
CREATE TABLE #NAME (Name VARCHAR(20))
INSERT INTO #NAME VALUES
('John'),('Tom'),('Jack')
CREATE TABLE #TIME (Name VARCHAR(20), Week INT, Year INT, Total INT)
INSERT INTO #TIME VALUES
('John',1,2017,34),('John',2,2017,24),('John',3,2017,65),('John',4,2017,22),('John',5,2017,45)
Run Code Online (Sandbox Code Playgroud)
我认为左外连接可以工作 - 但它只引用名称之间的连接而不是周
SELECT
#Name.Name,
#Time.Week,
#Time.Year,
#Time.Total
FROM #NAME LEFT OUTER JOIN #Time ON #NAME.Name = #Time.Name
Run Code Online (Sandbox Code Playgroud)
我尝试了外部申请 - 但基本上是同样的事情 -
SELECT
#Name.Name,
A.Week,
A.Year,
A.Total
FROM #NAME OUTER APPLY (SELECT * FROM #TIme WHERE #Name.Name = #Time.Name) A
Run Code Online (Sandbox Code Playgroud)
以上两个查询的输出如下所示 - 与我想要获得的内容 - 每周重复一次,显示所有学生,无论他们是否有任何相关的值.
如果有人可以帮助我,我会非常感激.