【发布时间】:2018-01-27 16:20:58
【问题描述】:
上下文
大家好,我正在尝试将我的数据集拆分为 180 个不同的部分,然后通过地理编码器运行它(我的 n 约为 180,000 并且地理编码器的批次限制为 1,000)。我对 Python 还很陌生,但一些谷歌搜索让我在sklearn.utils 中找到了shuffle。它似乎可以解决问题,这里的代码可以满足我的要求(从概念上):
from sklearn.utils import shuffle
df = shuffle(addresses)
df1 = df[0:1000]
df2 = df[1000:2000]
df3 = df[2000:3000]
但是,我显然不想坐下来像这样手动构建 180 个数据帧,所以我正在寻找一种方法将其放入循环中。这是我的基本想法:
start = 0
end = 1000
for a in range(1,180):
print(start, end, a)
start = start+1000
end = end+1000
以上工作正常。
无效的代码
但是,当我尝试将实际拆分集成到循环中(而不仅仅是打印)时,它会失败。我很确定问题在于我在命名数据帧时如何调用宏a。我不知道如何解决这个问题。
from sklearn.utils import shuffle
df = shuffle(addresses)
start = 0
end = 1000
for a in range(1,180):
df_str(a) = df[start:end]
start = start+1000
end = end+1000
【问题讨论】:
标签: python for-loop dataframe macros scikit-learn