提问人:24n8 提问时间:11/16/2023 更新时间:11/16/2023 访问量:41
如何在数据帧中将新列值列表设置为 0.0?[复制]
How to set a list of new columns values to 0.0 in a dataframe? [duplicate]
问:
假设我有一个列列表
cols = ['col1', 'col2', 'col3']
和 DataFrame
df = pd.DataFrame()
我想将它们添加到并将它们设置为 .cols
df
0.0
for col in cols:
df[col] = 0.0
有效,但
df[cols] = 0.0
导致错误
KeyError: "None of [Index(['col1', 'col2', 'col3'], dtype='object')] are in the [columns]"
为什么这不起作用?当您想要查询列列表的列值时,可以以类似的方式传入列列表,但初始化似乎以不同的方式工作。
答:
1赞
Elvis Ohemeng Gyaase
11/16/2023
#1
我不知道您的应用程序,但一列必须有一些行,即列表。 根据您的问题,我建议您创建一个包含您的列的字典和一个包含 0.0 列表的列表。请参阅下面的代码
import pandas as pd
import numpy as np
cols = ['col1', 'col2', 'col3']
#source https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html
# depending on how may values you want in your column change the variable
number_of_rows_in_column=10
# create a dictionary add a list of 0.0s under as value for each column
data=dict(zip(cols,[[ 0.0 for _ in range(number_of_rows_in_column) ] for _ in range(len(cols))]))
df=pd.DataFrame(data=data)
有关一些信息,请参阅此处
评论