我有一个如下所示的当前DataFrame:
DATETIME MEAS_AVG TARG_MIN TARG_AVG TARG_MAX DESPORT_NOTE
1 2012/04/10 14:03:37 0.2888 0.22 0.25 0.27 GOOD_PT
2 2012/03/30 07:48:17 0.2544 0.22 0.25 0.27 GOOD_PT
3 2012/03/24 19:23:08 0.2333 0.22 0.25 0.27 GOOD_PT
4 2012/03/25 16:10:17 0.2111 0.22 0.25 0.27 GOOD_PT
5 2012/04/10 00:58:29 0.2222 0.22 0.25 0.27 GOOD_PT
6 2012/04/14 18:32:52 0.2888 0.22 0.25 0.27 GOOD_PT
7 2012/04/21 14:47:47 0.2777 0.22 0.25 0.27 GOOD_PT
Run Code Online (Sandbox Code Playgroud)
调用数据框df3,我正在寻找替换日期的特定列df3$DATETIME.
我已经在我的代码中使用了这个函数来剥离日期时间:
date <- strptime(df3$DATETIME, "%Y/%m/%d %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
我想用简单的月份名称替换所有日期时间信息.这是替换功能后的样子:
DATETIME MEAS_AVG TARG_MIN TARG_AVG TARG_MAX …Run Code Online (Sandbox Code Playgroud) 我正在使用Python和CSV文件.我目前正在尝试修改下面的散点图(2d),以根据我的csv文件中的第三列更改颜色.在搜索多个帖子之后,我基本上想要使用通用色图(彩虹)并将第三个数组乘以色彩图,以便为每个xy点显示不同的颜色.我想我可以从ax.scatter函数中做所有事情,但我不知道如何将每个不同的x,y坐标乘以色图和第三个数组.它应该看起来类似于等高线图,但我更喜欢不同颜色的散点图.
这是我正在使用的代码:
import matplotlib
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.mlab as mlab
import numpy as np
r = mlab.csv2rec('test.csv')
fig = Figure(figsize=(6,6))
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
x = r.xavg #first column
y = r.yavg #second column
z = r.wtr #third column
ax.scatter(x,y,s=.2,c='b', marker = ',', cmap = ?);
Run Code Online (Sandbox Code Playgroud) 是否可以在if语句中使用多个isblank语句.我想使用像这个sudocode这样的东西
=if(isblank(g8)&isblank(h8), "both blank", "not both blank")
=if(isblank(g8&h8), "both blank", "not both blank")
Run Code Online (Sandbox Code Playgroud)
这些函数返回$ VALUE错误或在if语句中返回错误的文本.
有没有办法做到这一点?
我在excel中使用1000行15列的数据表.目前,在其中一个专栏中,我将大量数据与人名混合在一起(请参阅下面的示例).我想看看每个人的名字出现在数据表中的次数,所以我可以在数据透视表中使用它.名称的显示方式没有特定的格式或顺序.这是随机的.有没有办法在excel中编码来搜索整个列并给我一个每个人姓名出现次数的计数?
Column D
21421Adam14234
2323xxx Bob 66
23 asjdxx Jacob 665
43 Tim 5935539
2394Bob 88
Run Code Online (Sandbox Code Playgroud)
经过一些试验和错误后,我可以生成一个名称列表,每行一个,并将它们放在不同的列中以进行比较,如果这样可以更容易.
这个问题源于我的另一篇文章.(请参阅excel中的列搜索特定字符串,其中字符串在每个单元格中是随机的)

使用上面的图像作为参考,我试图使用列E作为"查找值"搜索列B(实际上超过1000行).最终目标是"仅"显示在C列中显示的名称.技巧是所有随机生成的字符包含名称.以下是我希望数据表的样子.公式或模块应该工作,但vlookup和其他查找功能我无法工作.

我正在尝试编写一个excel宏/ VBA代码来根据文件的标题调整列的内容.目前,我有一个宏设置,可以根据我输入的URL下载csv文件.宏自动格式化并命名文件.我想使用文件名称/标题的前5个字符来自动格式化其他单元格.
例如,文件名是48GHY_fjfdkjfe33.RHRH-msadklfjeiojo.我的文件中有一个名为name + type的列.我想将"名称"行与标题组合在一起并填充字段.下面的两张图片提供了之前和之后.


目前,我必须将前5个字符输入到单独的字段中,然后使用:="48GHY"和a2函数.
有没有办法在excel/VBA中执行此操作?
原来的问题得到了解答,但现在我正在寻求额外的帮助,当我试图把它放在一个宏.因为它仍然是同一个问题,我认为它不能保证另一个帖子.
这是我正在使用的当前宏/ VBA.当我运行它时,它只显示#VALUE!在牢房里.两组代码之间唯一不同的是A和B列现在是J和K.
' Insert Column after name and then rename it name+type
Rows(1).Find("name").Offset(0, 1).EntireColumn.Insert
Rows(1).Find("name").Offset(0, 1).FormulaR1C1 = "name+type"
Run Code Online (Sandbox Code Playgroud)
'冻结顶行
Rows("1:1").Select
With ActiveWindow
.SplitColumn = 0
.SplitRow = 1
End With
ActiveWindow.FreezePanes = True
Run Code Online (Sandbox Code Playgroud)
'保存文件
ActiveWorkbook.Save
Run Code Online (Sandbox Code Playgroud)
'将内容添加到名称+类型列
Range("K2").Select
ActiveCell.FormulaR1C1 = "=LEFT(MID(CELL(""filename"",RC[-1]),SEARCH(""["",CELL(""filename"",RC[-1]))+1,SEARCH(""]"",CELL(""filename"",RC[-1]))-SEARCH(""["",CELL(""filename"",RC[-1]))-1),5)&RC[-1]"
Range("K2").Select
Selection.Copy
Range("K2:K8294").Select
ActiveSheet.Paste
Run Code Online (Sandbox Code Playgroud)
'自动调整所有列
Columns("A:AK").Select
Selection.Columns.AutoFit
Run Code Online (Sandbox Code Playgroud)
结束子
*另外一条评论.我修改了你在宏中提供的代码,但是在我运行它之后的每个单元格中,以下代码在k列中:
=LEFT(MID(CELL("filename",J2),SEARCH("[",CELL("filename",J2))+1,SEARCH("]",CELL("filename",J2))-SEARCH("[",CELL("filename",J2))-1),5)&J2
Run Code Online (Sandbox Code Playgroud)
*最后一点.文件名保存为48GHY_fjfdkjfe33.RHRH-msadklfjeiojo#csv.txt(这可能与它有什么关系吗?)
我使用此代码将100个日期组合到各自的月份中:
cpkmonthly <- aggregate(mydf$AVG, na.rm=TRUE, list(month=months(as.Date(mydf$DATETIME))), mean)
Run Code Online (Sandbox Code Playgroud)
这是R中的输出:
> cpkmonthly
month x
1 April 0.4583167
2 August 0.4416660
3 July 0.4436665
4 June 0.4435551
5 March 0.4654443
6 May 0.4523338
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法将certian月份合并到几个季度.
Jan-March = q1
April-June = q2
July-Sep = q3
Oct-Dec = q4
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
输出应该如下所示:
> cpkquarterly
quarter x
1 q1 0.4583167
2 q2 0.4416660
3 q3 0.4436665
4 q4 0.4435551
Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码尝试删除整个行,当它在特定的"NAME"列中少于4个字符时.(即第1行中标题为NAME的列)数据库当前有大约10,000行.我知道现在的代码很接近,但是在尝试运行时我遇到了VB错误.我想我可能会错误地搜索特定列.
Sub Macro2()
' Macro to delete rows if there are less than 4 in the NAME column
Dim LR As Long, i As Long
Application.ScreenUpdating = False
LR = Range("NAME" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
If Len(Range("NAME" & i).Value) < 4 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)
编辑:我在以下行中收到VBA错误:
LR = Range("NAME" & Rows.Count).End(xlUp).Row
Run Code Online (Sandbox Code Playgroud) excel ×5
excel-vba ×4
vba ×4
r ×2
csv ×1
if-statement ×1
matplotlib ×1
numpy ×1
python ×1
scatter-plot ×1