我有一个数据框,我已经计算并添加了一difftime列:
name amount 1st_date 2nd_date days_out
JEAN 318.5 1971-02-16 1972-11-27 650 days
GREGORY 1518.5 <NA> <NA> NA days
JOHN 318.5 <NA> <NA> NA days
EDWARD 318.5 <NA> <NA> NA days
WALTER 518.5 1971-07-06 1975-03-14 1347 days
BARRY 1518.5 1971-11-09 1972-02-09 92 days
LARRY 518.5 1971-09-08 1972-02-09 154 days
HARRY 318.5 1971-09-16 1972-02-09 146 days
GARRY 1018.5 1971-10-26 1972-02-09 106 days
Run Code Online (Sandbox Code Playgroud)
我想将其分解并计算小计,其中 days_out 为 0-60、61-90、91-120、121-180。
由于某种原因,我什至无法可靠地编写括号符号。我希望
members[members$days_out<=120, ] 仅显示 Barry 和 Garry,但我得到很多行,例如:
NA.1095 <NA> NA <NA> <NA> NA days …Run Code Online (Sandbox Code Playgroud) 我在OSX上安装了CSVkit pip install --user csvkit,它似乎已经工作(重新安装)给我一个Requirement already satisfied消息,但csvcut在我的命令提示符下不可用并且which csvcut什么都不返回.
默认情况下如何将csvkit导入我的路径?
我很困惑.我有一个HTML块,我从一个更大的表中删除.它看起来像这样:
<td align="left" class="page">Number:\xc2\xa0<a class="topmenu" href="http://www.example.com/whatever.asp?search=724461">724461</a> Date:\xc2\xa01/1/1999 Amount:\xc2\xa0$2.50 <br/>Person:<br/><a class="topmenu" href="http://www.example.com/whatever.asp?search=LAST&searchfn=FIRST">LAST,\xc2\xa0FIRST </a> </td>
Run Code Online (Sandbox Code Playgroud)
(实际上,它看起来更糟,但我重复了很多换行符)
我需要排除这些线,并打破日期/金额线.似乎开始的地方是找到那块HTML的孩子.该块是一个字符串,因为这是正则表达式给我的回报.所以我做了:
text_soup = BeautifulSoup(text)
text_children = text_soup.find('td').childGenerator()
Run Code Online (Sandbox Code Playgroud)
我已经知道我只能迭代text_children一次,但我不明白为什么会这样.这是一种listiterator我很难理解的类型.
我习惯于假设如果我可以使用for循环遍历某些东西,我可以使用text_children [0]之类的东西调用任何一个元素.迭代器似乎不是这种情况.如果我创建一个列表:
my_array = ["one","two","three"]
Run Code Online (Sandbox Code Playgroud)
我可以my_array[1]用来查看数组中的第二项.如果我尝试这样做,text_children[1]我会收到错误:
TypeError: 'listiterator' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
如何获取迭代器的内容?
我试图从一些分组数据中制作一个条形图.这是虚拟数据,但结构基本相同.数据:选举结果包括一群候选人,组织到他们所在的地区,以及总投票数:
district,candidate,votes
Dist 1,Leticia Putte,3580
Dist 2,David Barron,1620
Dist 2,John Higginson,339
Dist 2,Walter Bannister,2866
[...]
Run Code Online (Sandbox Code Playgroud)
我想创建一个条形图或柱形图(老实说,虽然我的最终目标是水平的),按地区划分候选人.
迈克博斯托克有一个很棒的演示,但我无法根据我的目的智能地翻译它.我开始在https://jsfiddle.net/97ur6cwt/6/上取笑它,但我的数据组织有所不同 - 而不是行,按组,我有一个列设置类别.可能只有一名候选人或可能会有一些候选人.
如果组的大小不同,我可以对项目进行分组吗?
I am trying to label values based on the range they fall into, the way you might with, say, grading assignments. So if I have a data frame of mean quiz scores, and a data frame of number values that I use as the lower cutoff for assigning grades to those means:
grades <- read.table(text="Student Mean
Adam 94
Amanda 85.5
James 81
Noah 72.8333333333333
Zach 57.5", header = TRUE)
letters <- read.table(text = "Letter Cutoff
A 90
B 80
C …Run Code Online (Sandbox Code Playgroud) 我正在尝试将数据标签添加到d3中的堆积条形图中.
我希望数据标签位于栏的中间.到目前为止,我只是想出了如何在每个栏顶部添加数据标签.但实际上我希望这些标签位于每个栏的中间.
这是我的代码:
var width = 750,
height = 500;
var x = d3.scale.ordinal()
.rangeRoundBands([0, width], .1);
var y = d3.scale.linear()
.rangeRound([height, 0]);
var color = d3.scale.ordinal()
.range(["#D70B16", "#154CEF", "#1A8A55"]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(y)
.orienta("left")
.tickFormat(d3.format(".2s"));
var tip = d3.tip()
.attr('class', 'd3-tip')
.offset([-10, 0])
.html(function(d) {
return "Value: " + (d.y1 - d.y0) + "";
})
var svgContainer = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + 30 + "," …Run Code Online (Sandbox Code Playgroud) 如何以交互方式跳转到特定幻灯片?
以编程方式,我可以使用Reveal.slide(indexh,indexv,indexf)。
例如,在S5中,我可以输入幻灯片编号,然后按Enter。
假设我有一个日期列的框架:
test.frame$alt_dates <- c('2001-01-04', '2001-05-11', '2001-05-14', '2001-07-24', '2003-12-24', '2004-07-21', '2004-10-15', '2004-12-15', '2005-03-17', '2005-07-18')
Run Code Online (Sandbox Code Playgroud)
他们从角色开始.好的:
class(test.frame$alt_dates)
[1] "character"
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用transform将这些日期转换为日期:
transform(test.frame, alt_dates <- as.Date(alt_dates)
Run Code Online (Sandbox Code Playgroud)
R只是将我的框架打印到控制台.如果我直接转换列,它工作正常:
test.frame$alt_dates <- as.Date(test.frame$alt_dates)
class(test.frame$alt_dates)
[1] "Date"
Run Code Online (Sandbox Code Playgroud)
我对Transform的错误是什么?
更新:正如一些人注意到的那样,我没有把结果分配给任何东西.这样就解释了打印到屏幕并且没有存储任何更改.但即使我捕获结果它也不起作用:
test.frame <- transform(test.frame, more_dates <- as.Date(more_dates))
class(test.frame$more_dates)
[1] "character"
Run Code Online (Sandbox Code Playgroud) 我正在使用Tumblr API——我想构建一个小工具,它将我的所有帖子拉到我的各个 Tumblr 上,并每周一次将它们存档到我的 WordPress 博客中。
所以每次脚本运行时,我想记录最大帖子 ID。所以我试图让这样的事情发挥作用:
jdata = json.loads(rawjson)
jposts = jdata['response']['posts']
for post in jposts:
print post['id']
print max(jposts['id'])
Run Code Online (Sandbox Code Playgroud)
我得到的是很多帖子 id(预期), list indices must be integers, not str但如果我这样做,print type(post['id'])Python 会将它们识别为<type 'long'>. 那么...我在这里做错了什么?
以下是Tumblr 示例输出的片段,您可以使用它rawjson
{
"meta":{
"status":200,
"msg":"OK"
},
"response":{
"blog":{
"title":"Scipsy",
"name":"scipsy",
"posts":8524,
"url":"http:\/\/scipsy.tumblr.com\/",
"updated":1365196814,
"description":"\u0022Science is interesting and if you don\u0027t agree, fuck off\u0022",
"ask":true,
"ask_anon":true,
"is_nsfw":false,
"share_likes":false
},
"posts":[
{
"blog_name":"scipsy",
"id":47218422365,
"post_url":"http:\/\/scipsy.tumblr.com\/post\/47218422365\/you-are-missed-that-is-all",
"slug":"you-are-missed-that-is-all",
"type":"answer", …Run Code Online (Sandbox Code Playgroud) 我正在尝试解决一个正则表达式拼图,我......很困惑.我期待以下内容:
import re
import fileinput
TEST_DATA = [
"6",
"2 ",
"1 877 2638277 ",
"91-011-23413627"
]
for line in TEST_DATA:
print(
re.sub(
r'(\d{1,3})[- ](\d{2,3})[- ]+(\d{5,10})',
r'CountryCode=\1,LocalAreaCode=\2,Number=\3',
line))
Run Code Online (Sandbox Code Playgroud)
给我这个:
CountryCode=1,LocalAreaCode=877,Number=2638277
CountryCode=91,LocalAreaCode=011,Number=23413627
Run Code Online (Sandbox Code Playgroud)
相反,我明白了:
6
2
CountryCode=1,LocalAreaCode=877,Number=2638277
CountryCode=91,LocalAreaCode=011,Number=23413627
Run Code Online (Sandbox Code Playgroud)
我不明白为什么要打印不匹配的行.