我试图调用spice.str2et(n[i])
来获取日期列表(称为UTC
,这是我从excel导入的)。我可以得到spice.str2et(n[i])
,但是每次循环时它都会替换先前的计算时间。我需要索引列表中的所有spice.str2et(n[i])
结果。 (我也是Python /编码的新手,刚从3周前开始学习。)
我尝试在[i]
中的et之后添加et =
。我还在这里查询了如何从枚举列表中获取索引,但是它们都描述了如何从原始列表中获取索引。我正在寻找一个新的索引列表。
import spiceypy as spice
n = UTC.iloc[:,0]
for i, txt in enumerate(n):
et = spice.str2et(n[i]) #calculates ephermis time for utc,
print(et)
这将为我提供我想要的所有ET的列表,因为每次循环时它都会被覆盖(当您打印不缩进时,它仅给出最后一个值)。
答案 0 :(得分:2)
似乎您可能只想要列表理解。像这样:
n = UTC.iloc[:,0]
newList = [spice.str2et(txt) for txt in n]
答案 1 :(得分:1)
ets = UTC.iloc[:, 0].apply(spice.str2et)
说明:UTC
是一个熊猫数据帧,因此最好将spice.str2et()
的调用广播到整个第0列,这比在执行操作时手动进行迭代(或{{ 1}},也应避免)。
.iterrows()
的临时副本,因为它只会泄漏内存或创建不必要的对象。答案 2 :(得分:0)
这是您要找的吗?
n = UTC.iloc[:,0]
ets = []
for i, txt in enumerate(n):
et = spice.str2et(n[i]) #calculates ephermis time for utc,
ets.append(et)