python - 仅用数据填充选定的列,并在 pandas 数据框中使用 NaN 值附加剩余部分
问题描述
import pandas as pd
sample_dataframe = pd.DataFrame(columns = [column_1, column_2, column_3, column_4] )
sample_data = [(78, 89), (77, 45), (54, 90)]
我想以一种方式插入sample_data
,sample_dataframe
并且column_1
将column_2
填充数据中的值,其余列将填充所有行的 NaN 值。
在创建数据框时,我无法将数据添加到数据框中。在定义数据框的结构后,需要稍后添加数据。
最简单的方法是什么?
这是我想要的输出:
> sample_dataframe
column1 column2 column3 column4
78 89 NaN NaN
77 45 NaN NaN
54 90 NaN NaN
解决方案
为避免索引出现问题,您可以使用assign
更新列的子集。您可以分配一个新创建的数据框:
cols = ['column_1', 'column_2']
sample_dataframe.assign(**pd.DataFrame(sample_data, columns=cols))
column_1 column_2 column_3 column_4
0 78 89 NaN NaN
1 77 45 NaN NaN
2 54 90 NaN NaN
或者通过解压字典:
sample_dataframe.assign(**dict(zip(cols,zip(*sample_data))))
推荐阅读
- javascript - 如何告诉 eslint:禁用下一行“'import' 和 'export' 可能只出现在 'sourceType: module' 中”
- java - 如何用 JodaTime 表示“时间”
- java - Java PrinterJob,高质量打印最终以 72 DPI 结束
- xamarin - 如何在 Visual Studio 2019 中生成 .csproj 文件?
- ruby-on-rails - puma 的 redmine 错误:错误转换执行错误(NoMethodError(未定义的方法 `do' for false:FalseClass))
- reactjs - 如何根据 css 媒体查询重定向到 next.js 中的另一个页面?
- linux - pthread_join 无限期挂起 __lll_lock_wait_private()
- ionic3 - 使用 OpenVidu 仅创建音频通话
- pandas - 基于 Pandas 中的 groupby 为数据框中的日期添加和填充行
- amazon-web-services - Amazon S3 存储桶策略和 CORS 不起作用