python - 清理数据框-将一个单元格中的值分配给列
问题描述
我正在将文件夹中的多个 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文件的示例
解决方案
如果我理解正确,您要添加为所有行的新列的值在df.loc[[0],['Day Yield']]
.
如果这是正确的,您可以执行以下操作:
df = df.assign(date=[df.loc[[0],['Day Yield']]]*len(df))
推荐阅读
- java - 在代理后面使用 Maven
- django - 用于身份验证和用户 Django 的一种用户模型
- javascript - javascript - 功能挂钩执行顺序如何工作?
- selenium - pycharm-selenium-python: Unable to start chromedriver service - [WinError 193] %1 is not a valid Win32 application
- button - 在数据窗口中为新行 PowerBuilder 启用按钮
- mysql - 如何将具有相同 MySQL 数据库的 WordPress 网站运行到两个不同的服务器上?
- git - 你能从一个巨大的 Git 错误中恢复过来吗?
- forms - How to validate inputs on each step in a multi part form in vuejs?
- selenium - 如何使用 Selenium 在多个浏览器窗口中同时运行 HttpWatch?
- php - How to convert rupee as paise with php