小编W A*_*gie的帖子

将unix时间转换为pandas DataFrame中的可读日期

我有一个数据框,其中包含unix时间和价格.我想转换索引列,以便在人类可读日期中显示.因此,例如我在索引列中将"日期"设置为1349633705,但我希望它显示为10/07/2012(或至少10/07/2012 18:15).对于某些上下文,这里是我正在使用的代码以及我已经尝试过的代码:

import json
import urllib2
from datetime import datetime
response = urllib2.urlopen('http://blockchain.info/charts/market-price?&format=json')
data = json.load(response)   
df = DataFrame(data['values'])
df.columns = ["date","price"]
#convert dates 
df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d"))
df.index = df.date   
Run Code Online (Sandbox Code Playgroud)

你可以看到我在date这里使用 哪个不起作用,因为我正在使用整数,而不是字符串.我想我需要使用,1349633705但我不太确定如何将它应用于整个df.date.谢谢.

python unix-timestamp dataframe pandas

91
推荐指数
4
解决办法
10万
查看次数

如何在函数中指定多个可选参数而不考虑它们的给出顺序

下面的示例可选参数必须按顺序给出;因此 ShowHeaders 必须先于 ValueAdd 等等。如果我想指定 ValueAdd,我*必须*指定 ShowHeaders:

Function Example(Value1, Optional ShowHeaders = "Headers=N", Optional ValueAdd = "Sprd=0")
Run Code Online (Sandbox Code Playgroud)

我希望能够指定一个或多个(相对)较大的可选参数列表:1)但不按顺序,2)不一定是全部。

对于1)我在想,也许可以制作一个通用的参数列表,例如而不是上面的:

Function Example(Value1, Optional Arg1, Optional Arg2)
Run Code Online (Sandbox Code Playgroud)

然后检查 Arg1 最左边的部分是否=“Headers=”或“Sprd=”等,然后对 Arg2 执行相同的操作。这很好,但似乎效率不是很高,我计划创建具有 > 10 个可选参数的 UDF。上面的解决方案也可以解决2),但我只是觉得它的编码不太好。

对于2)我知道我们可以使用

If IsMissing(Arg) Then
Run Code Online (Sandbox Code Playgroud)

但这并没有真正解决我们指定函数的顺序。

vba arguments user-defined-functions optional-arguments

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