【发布时间】:2021-06-07 14:46:00
【问题描述】:
这是我想要实现的目标: Result,进程/logical flow
这是第一个数据集的示例: list of symbols
这里是第二个数据集的示例,我将其用作对第一个数据集符号进行分组的参考:reference for grouping
这是我的代码:
stockN = pd.DataFrame(numstocks)
ticker = pd.DataFrame(ticks)
sorts = pd.DataFrame(columns=['Symbols'])
for x in range(len(stockN)):
if int(stockN[0][x]) < 10:
sorts.loc[x] = str(ticker[0][:x])
if int(stockN[0][x]) > 10:
sorts.loc[x] = str(ticker[0][x:x+10])
我的输出是:
0 Series([], Name: 0, dtype: object)
1 0 GRA\nName: 0, dtype: object
2 2 RL\n3 UNVR\n4 EPC\n5 OI\n6 LEA\nName: 0, dtype: object
3 0 GRA\n1 WRK\n2 RL\nName: 0, dtype: object
4 0 GRA\n1 WRK\n2 RL\n3 UNVR\nName: 0, dtype: object
很明显,传递一个 str() 已经产生了一些问题,但如果我不这样做,这些值就会被 NaN 填充。 那么,为什么我访问的不仅仅是我所指出的内容?
我的下一个问题是切片,您可以从逻辑上看出这是一场灾难,但由于我无法访问 stockN 编号,因此我无法将其添加到我的 x 变量中。我假设我可以逐行创建我的数据框,并用来自ticker [x:x + y]的股票代码填充每一行,其中y = stockN(数量)。然后该值将用于下一次迭代等等。
编辑:忘了提到每行的股票代码最多为 10,因此,例如,如果我的 stockN 编号为 27,我只想要下一个 10,而不是 27。这就是 if/else 和 x+ 的原因10 片。
如果你能帮助我,请告诉我。如果您有更好的方法来解决这个问题,我们也将不胜感激。
【问题讨论】:
标签: python pandas list for-loop