gpt4 book ai didi

python - 在 python 2.7 中将数据拆分为交替组

转载 作者:行者123 更新时间:2023-11-28 22:17:01 27 4
gpt4 key购买 nike

          day         city  temperature  windspeed   event

2017-01-01 new york 32 6 Rain
2017-01-02 new york 36 7 Sunny
2017-01-03 new york 28 12 Snow
2017-01-04 new york 33 7 Sunny
2017-01-05 new york 31 7 Rain
2017-01-06 new york 33 5 Sunny
2017-01-07 new york 27 12 Rain
2017-01-08 new york 23 7 Rain
2017-01-01 mumbai 90 5 Sunny
2017-01-02 mumbai 85 12 Fog
2017-01-03 mumbai 87 15 Fog
2017-01-04 mumbai 92 5 Rain
2017-01-05 mumbai 89 7 Sunny
2017-01-06 mumbai 80 10 Fog
2017-01-07 mumbai 85 9 Sunny
2017-01-08 mumbai 89 8 Rain
2017-01-01 paris 45 20 Sunny
2017-01-02 paris 50 13 Cloudy
2017-01-03 paris 54 8 Cloudy
2017-01-04 paris 42 10 Cloudy
2017-01-05 paris 43 20 Sunny
2017-01-06 paris 48 4 Cloudy
2017-01-07 paris 40 14 Rain
2017-01-08 paris 42 15 Cloudy
2017-01-09 paris 53 8 Sunny

上面显示的是 .txt 文件。

我的目标是创建 4 个尽可能均匀分布的组,包含所有城市,这意味着每个组都有“纽约”、“孟买”、“巴黎”。

因为有25条数据,所以3组有6行,1组有7行。

我现在的想法是,由于数据已经按城市排序,我可以逐行读取文本文件,然后对于每一行,我将把它附加到 4 组 (G1-G4)以交替模式。意思是说,第一行,它将附加到 G1,然后第二行附加到 G2,第三行附加到 G3,第四行附加到 G4,第五行附加回 G1,第六行附加到 G2,依此类推。这样可以保证所有组都拥有全部3个城市。

这样编码可行吗?

预期结果:

G1:行/第 1 行,第 5 行,第 9 行,

G2:第 2 行,第 6 行,第 10 行,

G3:第 3 行,第 7 行,第 11 行,

G4:第 4 行,第 8 行,第 12 行,依此类推。

最佳答案

由于您的输入已经排序,您可以将字符串拆分为一个列表,然后使用 4 的步骤对它们进行切片:

data = '''        2017-01-01  new york           32          6    Rain
2017-01-02 new york 36 7 Sunny
2017-01-03 new york 28 12 Snow
2017-01-04 new york 33 7 Sunny
2017-01-05 new york 31 7 Rain
2017-01-06 new york 33 5 Sunny
2017-01-07 new york 27 12 Rain
2017-01-08 new york 23 7 Rain
2017-01-01 mumbai 90 5 Sunny
2017-01-02 mumbai 85 12 Fog
2017-01-03 mumbai 87 15 Fog
2017-01-04 mumbai 92 5 Rain
2017-01-05 mumbai 89 7 Sunny
2017-01-06 mumbai 80 10 Fog
2017-01-07 mumbai 85 9 Sunny
2017-01-08 mumbai 89 8 Rain
2017-01-01 paris 45 20 Sunny
2017-01-02 paris 50 13 Cloudy
2017-01-03 paris 54 8 Cloudy
2017-01-04 paris 42 10 Cloudy
2017-01-05 paris 43 20 Sunny
2017-01-06 paris 48 4 Cloudy
2017-01-07 paris 40 14 Rain
2017-01-08 paris 42 15 Cloudy
2017-01-09 paris 53 8 Sunny'''
lines = data.splitlines()
groups = [lines[i::4] for i in range(4)]
for g in groups:
print(g)

这个输出:

['        2017-01-01  new york           32          6    Rain', '        2017-01-05  new york           31          7    Rain', '        2017-01-01    mumbai           90          5   Sunny', '        2017-01-05    mumbai           89          7   Sunny', '        2017-01-01     paris           45         20   Sunny', '        2017-01-05     paris           43         20   Sunny', '        2017-01-09     paris           53         8  Sunny']
[' 2017-01-02 new york 36 7 Sunny', ' 2017-01-06 new york 33 5 Sunny', ' 2017-01-02 mumbai 85 12 Fog', ' 2017-01-06 mumbai 80 10 Fog', ' 2017-01-02 paris 50 13 Cloudy', ' 2017-01-06 paris 48 4 Cloudy']
[' 2017-01-03 new york 28 12 Snow', ' 2017-01-07 new york 27 12 Rain', ' 2017-01-03 mumbai 87 15 Fog', ' 2017-01-07 mumbai 85 9 Sunny', ' 2017-01-03 paris 54 8 Cloudy', ' 2017-01-07 paris 40 14 Rain']
[' 2017-01-04 new york 33 7 Sunny', ' 2017-01-08 new york 23 7 Rain', ' 2017-01-04 mumbai 92 5 Rain', ' 2017-01-08 mumbai 89 8 Rain', ' 2017-01-04 paris 42 10 Cloudy', ' 2017-01-08 paris 42 15 Cloudy']

关于python - 在 python 2.7 中将数据拆分为交替组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51737962/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com