我有3个列表,一个用于小时,一个用于分钟,一个用于秒.我所做的是创建一个函数,将3个列表作为输入并计算总时间.
我的问题是函数是如此多余而我向你提出的问题是愚蠢的:什么是更好的方法来做到这一点.
这是我的功能:
def final_time(hours,minutes,seconds):
draft_hours = sum(hours)
draft_minutes = sum(minutes)
draft_seconds = sum(seconds)
adding_seconds = str(draft_seconds/60.0)
second_converting = adding_seconds.split(".")
seconds_to_minutes = int(second_converting[0])
seconds_to_seconds = draft_seconds - (seconds_to_minutes * 60)
total_seconds = str(seconds_to_seconds)
more_minutes = draft_minutes + seconds_to_minutes
adding_minutes = str(more_minutes/60.0)
minute_converting = adding_minutes.split(".")
minutes_to_hours = int(minute_converting[0])
minutes_to_minutes = more_minutes - (minutes_to_hours * 60)
total_minutes = str(minutes_to_minutes)
total_hours = str(draft_hours + minutes_to_hours)
return total_hours + " hours, " + total_minutes + " minutes, and " + total_seconds + " seconds." …Run Code Online (Sandbox Code Playgroud) 所以我有一个大型的pandas DataFrame,它包含大约两个月的信息,每秒有一行信息.方法太多,无法立即处理,所以我想抓住具体的时间表.以下代码将在2012年2月5日之前获取所有内容:
sunflower[sunflower['time'] < '2012-02-05']
Run Code Online (Sandbox Code Playgroud)
我想做相当于这个:
sunflower['2012-02-01' < sunflower['time'] < '2012-02-05']
Run Code Online (Sandbox Code Playgroud)
但这是不允许的.现在我可以用这两行来做到这一点:
step1 = sunflower[sunflower['time'] < '2012-02-05']
data = step1[step1['time'] > '2012-02-01']
Run Code Online (Sandbox Code Playgroud)
但是我必须使用20个不同的DataFrame进行多次,并且能够轻松地做到这一点会很好.我知道pandas是有能力的,因为如果我的日期是索引而不是列,那很容易做到,但它们不能成为索引,因为日期会重复,因此您会收到此错误:
Exception: Reindexing only valid with uniquely valued Index objects
Run Code Online (Sandbox Code Playgroud)
那我该怎么做呢?
所以我试图做一些动态悬停操作,这需要this在jquery中使用.由于某种原因,我无法弄清楚,javascript setTimeout函数似乎不支持它.
我明白该setTimeout函数不是Jquery,但是如果放在Jquery函数里面,它应该不能响应相关的this吗?
以下是一些示例代码:
var go = false;
var t;
$('.box').mouseenter(function(){
t = setTimeout(function(){
go = true;
alert($('span',this).text());
},1000);
});
$('.box').mouseleave(function(){
clearTimeout(t);
if(go){
alert($('span',this).text());
}
});
Run Code Online (Sandbox Code Playgroud)
当悬停1秒时它会提醒一个空白,但是在鼠标离开时它会提醒正确的文本,即使两个警报都在具有相同选择器的Jquery函数内.
为什么会发生这种情况,我该如何解决?
我正在编写一个带有3个pandas系列的函数,其中一个是日期,我需要能够将它变成一个数据帧,我可以通过它们重新采样.问题是,当我简单地执行以下操作时:
>>> data.index = data.time
>>> df = data.resample('M')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/generic.py", line 234, in resample
return sampler.resample(self)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tseries/resample.py", line 100, in resample
raise TypeError('Only valid with DatetimeIndex or PeriodIndex')
TypeError: Only valid with DatetimeIndex or PeriodIndex
Run Code Online (Sandbox Code Playgroud)
我知道这是因为即使索引类型是一个日期时间对象,在进行重新采样时,除非它在表单中datetime(x,x,x,x,x,x),否则它将无法正确读取.
所以当我使用它时,我的日期数据如下所示:2011-12-16 08:09:07所以我一直在做以下事情:
dates = data.time
date_objects = [datetime.strptime(dates[x], '%Y-%m-%d %H:%M:%S') for x in range(len(dates))]
data.index = date_objects
df = data.resample('M')
Run Code Online (Sandbox Code Playgroud)
我的问题是我使用它作为开源,我不知道输入日期的格式.
所以我的问题是:如何在不知道字符串格式的方式的情况下,将具有日期和时间的字符串转换为日期时间对象?
所以我正在创建一个模块,我将它导入到python shell并运行一些东西以确保所有功能都能正常工作等等.
出于某种原因,每次运行代码时,都会出现以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/ryansaxe/Desktop/Code/python/modules/pymaps.py", line 102, in url_maker
#anything can be here
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
Run Code Online (Sandbox Code Playgroud)
所以,在#anything can be here我的代码的第102行是什么.最初的102行是:
if isinstance(startindex,datetime.datetime):
Run Code Online (Sandbox Code Playgroud)
我得到了上面的错误.我在第102行打了一个快速打印声明来检查并给出了同样的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/ryansaxe/Desktop/Code/python/modules/pymaps.py", line 102, in url_maker
print 'Hello'
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
Run Code Online (Sandbox Code Playgroud)
这是某种错误吗?为什么告诉我线上的日期时间有错误print 'Hello'?
因为它可能会有所帮助,所以我会告诉你我遇到麻烦的功能,因为我不知道这是怎么回事.我保持这print 'Hello'条线,所以你可以看到第102行的位置:
def url_maker(latitudes,longitudes,times=None,color='red',label=' ',zoom=12,center=None,start=None,end=None,by=None,size='600x300'):
urls …Run Code Online (Sandbox Code Playgroud) 所以我创建了一个转置函数,可以选择添加列标题,我相信我遇到了python中的一个bug并使用了*args:
>>> def transpose(*args,header=None):
File "<stdin>", line 1
def transpose(*args,header=None):
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
所以是的,因为*args是任意数量的值,你不能在它之后放任何东西,但是你应该能够放置variable=value因为那个变量有一个自动赋值使它与*args分开,因为你可以用它来调用它header=['col1','col2','col3']等等
以下内容不会出错:
def transpose(header=None,*args):
#code goes here
Run Code Online (Sandbox Code Playgroud)
唯一的问题是,这使得函数的第一个输入被分配给头而不需要做header=value,做出header必要的输入,这不是我想要的,我肯定不是很多人使用任意创建函数想要的数量.
有了这个错误,它似乎不可能有一个使用*args和输入不是要求的功能.这是python中的错误吗?
注意:我使用的是python2.7,所以如果它是一个bug,它很可能只是该版本中的一个bug
我创建一个元素使用Jquery并给它类.book:
jQuery('<div/>', {
name: "my name",
class: 'book',
text: 'Bookmark',
}).appendTo('body');
Run Code Online (Sandbox Code Playgroud)
然后我想在点击那个课时做点什么,所以我自然而然地写了一个快速简单的东西:
$('.book').click(function(){
alert('I have been clicked');
});
Run Code Online (Sandbox Code Playgroud)
这样可行
什么不起作用,如果我有它在点击添加这些元素.所以以下不起作用:
var bms = 0;
$('button').click(function(){
bms += 1;
jQuery('<div/>', {
name: bms,
class: 'book',
text: 'Bookmark ' + bms
}).appendTo('body');
});
$('.book').click(function(){
alert('I have been clicked');
});
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我该如何解决这个问题呢?
另一件事:
此外,如果我已经.book在我的身体中有一个div ,那么click事件将适用于那个,但不是任何附加div的.这是另一个证明这一点的方法
我有一台扫描仪,询问一些偏好。它创建一个介于 0 和 3 之间的int变量choice。然后我执行以下操作:
String location;
switch(choice){
case 0:
System.out.println("Please type the zip codes you would like to search in a comma separated list");
location = input.nextLine();
break;
case 1:
System.out.println("Please type the street names you would like to search in a comma separated list");
location = input.nextLine().toUpperCase();
break;
case 2:
System.out.println("Please type the boroughs you would like to search in a comma separated list");
location = input.nextLine().toUpperCase();
break;
default:
location = "none";
break;
} …Run Code Online (Sandbox Code Playgroud) 所以我不知道我是否遗漏了一些文档,但我有两个问题getpass.
我似乎无法保存密码
它之后回复密码
>>> pass = getpass.getpass()
File "<stdin>", line 1
pass = getpass.getpass()
^
SyntaxError: invalid syntax
>>> getpass.getpass()
Password:
'ryan'
Run Code Online (Sandbox Code Playgroud)难道我做错了什么?
因此,在任何Django项目中,通过重写save方法来判断是否已创建对象非常简单:
def save(self, *args, **kwargs):
created = False
if not self.pk:
created = True
super(ModelName, self).save(*args,**kwargs)
if created:
#do what you want or call a signal
Run Code Online (Sandbox Code Playgroud)
但是我需要User在从django.contrib.auth.models.User创建一个函数之后调用一个函数.我宁愿不必实际编辑用户模型的save方法.
我怎么能这样做?
使用pre_save将无法工作,因为模型中的所有信息都不可用,这是必要的.