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