我有一个数据框,其中包含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.谢谢.
下面的示例可选参数必须按顺序给出;因此 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)
但这并没有真正解决我们指定函数的顺序。