Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.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+;熊猫+;Dataframe:为Dataframe列生成动态列名_Python_Pandas_Dataframe - Fatal编程技术网

Python+;熊猫+;Dataframe:为Dataframe列生成动态列名

Python+;熊猫+;Dataframe:为Dataframe列生成动态列名,python,pandas,dataframe,Python,Pandas,Dataframe,熊猫数据帧数据在数据帧中获取一个新列预测顺序,该列的值分配给列表预测顺序 在这里,我不想硬编码新生成的列名,现在它是Predicted Order。我希望每一个新生成的列都动态地使用名称,如I=0,1,2等的Week\u I 编辑: 此代码将来将运行未知次数,每次都会向数据帧添加一个新列。您可以使用字符串格式 data['Predicted Order'] = predicted_order print(data) data.to_csv('smallys_ARMA.csv', encoding

熊猫数据帧
数据
在数据帧中获取一个新列
预测顺序
,该列的值分配给列表
预测顺序

在这里,我不想硬编码新生成的列名,现在它是
Predicted Order
。我希望每一个新生成的列都动态地使用名称,如I=0,1,2等的
Week\u I

编辑:
此代码将来将运行未知次数,每次都会向数据帧添加一个新列。

您可以使用字符串格式

data['Predicted Order'] = predicted_order
print(data)
data.to_csv('smallys_ARMA.csv', encoding='utf-8', index=False)

如果您使用的是Python<3.6,那么请使用
数据['Week{}.format(i)]
来代替可能是这样的:

weeks = range(42)

for i in weeks:
     data[f'Week_{i}'] = predicted_order

你能再解释一下吗?新栏填了什么?有多个栏目
第一周
第二周
?@jezrael:是的,举个例子。此代码将来将运行多次,每次都将向数据帧添加一个新列。是的,向列添加了什么?此代码将来将运行未知次数,每次都将向数据帧添加一个新列。列名的格式应为:Week_i,其中i是一个整数。此处u固定了数周的范围,但此代码将在将来运行未知次数。使用add_prefix()可以做任何事情吗?没关系,概念是一样的,您可以使用任何变量。它也可能在一个无限循环中,
i
在每次迭代中递增。或者你可以只是一个随机字符串,这取决于你。
numbers = range(52)
for i in numbers:
    if not "weeks_{i}" in df.columns:
        df["weeks_{i}"] = predicted_order
        break