首页 > 解决方案 > 在 Python 中创建数据集

问题描述

在 Python 中,我想创建一个包含 RGB 颜色的 3 列组成的数据集:

    R    G    B
0   0    0    0
1   0    0    8
2   0    0    16
3   0    0    24
...
31  0    0    248
32  0    8    0
33  0    8    8
...

当然,我可以使用 3 个嵌套的 for 循环,但我想知道是否没有更优化的解决方案。

for R in range(0,255,8):
    for G in range(0,255,8):
        for B in range(0,255,8):
            # ... Do something here

标签: python-3.xdataframedataset

解决方案


您可以使用列表推导生成 RGB 颜色代码,然后将其传递给以pandas.DataFrame将其放入DataFrame.

import pandas as pd
l = range(0, 255, 8)
rgb = [[r, g, b] for r in l for g in l for b in l]
df = pd.DataFrame(rgb, columns=['R', 'G', 'B'])
print(df)

输出:

         R    G    B
0        0    0    0
1        0    0    8
2        0    0   16
3        0    0   24
4        0    0   32
...    ...  ...  ...
32763  248  248  216
32764  248  248  224
32765  248  248  232
32766  248  248  240
32767  248  248  248

[32768 rows x 3 columns]

虽然使用范围range(0, 255, 8)将在 248 结束,所以如果你想在 255 结束,那么请range(0, 257, 8)改用。


推荐阅读