Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 我如何在Python中拖拉一列(年),并保留相应的列值?_Python 2.7 - Fatal编程技术网

Python 2.7 我如何在Python中拖拉一列(年),并保留相应的列值?

Python 2.7 我如何在Python中拖拉一列(年),并保留相应的列值?,python-2.7,Python 2.7,我有一个五列的文本文件。第一栏有年份(2011年至2040年),第二栏有Tmax,第三栏有Tmin,第四栏有Precip,第五栏有30年的太阳能。我想编写一个python代码,将第一列(年份)洗牌10次,剩余的列中有相应的原始值,也就是说:我只想洗牌年份列10次,以便第1年有相应的值。将文本作为行列表读取,每行都是列列表或列元组。csv模块可能对此有用 然后把这些行洗牌。random模块有一个名为shuffle的函数 编辑: 假设输入格式为CSV(逗号分隔值): 你熟悉NumPy吗?一旦将数据放

我有一个五列的文本文件。第一栏有年份(2011年至2040年),第二栏有Tmax,第三栏有Tmin,第四栏有Precip,第五栏有30年的太阳能。我想编写一个python代码,将第一列(年份)洗牌10次,剩余的列中有相应的原始值,也就是说:我只想洗牌年份列10次,以便第1年有相应的值。

将文本作为行列表读取,每行都是列列表或列元组。
csv
模块可能对此有用

然后把这些行洗牌。
random
模块有一个名为
shuffle
的函数

编辑:

假设输入格式为CSV(逗号分隔值):


你熟悉NumPy吗?一旦将数据放入numpy
ndarray
,在保持列顺序的同时洗牌行就轻而易举了,而不需要创建许多临时表


您可以使用类似于
np.genfromtxt
的函数来读取数据文件,并使用不同的命名字段创建
ndarray
。然后,您可以使用
np.random.shuffle
函数来重新组织行。

请您为我提供这一行的示例代码。我是编程的初学者。谢谢你的帮助和时间。我可以收到你的电子邮件,这样我就可以给你发送样本文件了吗?我收到了这样的错误消息:IOError:[Errno 13]权限被拒绝:“e:\\\\\Programming\\\\\Practice”\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\如果我能给你我正在处理的文件,你可能会发现问题。你的消息告诉你无法阅读该文件。检查它的属性。@user1628913:如果文件不是很大,您可以将其发送给我。:-)你可以在我的个人资料页面上找到我的电子邮件地址。(顺便说一句,如果你对计算PET或类似的东西感兴趣,NumPy有一些专注于气候分析的统计库…)
import csv
import random

input_path = r"path\to\input"
output_path = r"path\to\output"

with open(input_path, "rb") as file:
    rows = list(csv.reader(file, delimiter=","))

random.shuffle(rows)

with open(output_path, "wb") as file:
    csv.writer(file, delimiter=",").writerows(rows)