首页 > 解决方案 > 清理数据框-将一个单元格中的值分配给列

问题描述

我正在将文件夹中的多个 CSV 文件读入数据框。我循环查找文件夹中的所有文件,然后连接数据帧以获得最终数据帧。但是,CSV 文件有一个摘要行,我想从中提取日期,然后为该 csv/dataframe 中的所有行添加一个新列。

'''

df=pd.read_csv(f,header=None,names=['Inverter',"Day Yield",'month Yield','Year Yield','SpecificYieldDay','SYMth','SYYear','Power'],sep=';', **kwargs)
df['date']=df.loc[[0],['Day Yield']]
df

我希望 ['date'] 列为该特定 csv 中的所有行填充该文件的日期,但它仅在第一行被正确填充。

请参阅数据框的图像。我希望“日期”列的所有行都显示 2019 年 7 月 25 日,而不仅仅是第一行。

我还添加了一个我从 csv 文件中读取的 csv文件的示例

标签: pythonpandasdataframe

解决方案


如果我理解正确,您要添加为所有行的新列的值在df.loc[[0],['Day Yield']].

如果这是正确的,您可以执行以下操作:

df = df.assign(date=[df.loc[[0],['Day Yield']]]*len(df))


推荐阅读