python - 我如何为基于其他列名的空列添加值
问题描述
框架:
姓名 | 迎合 |
---|---|
1 | 一个 |
2 | 一个 |
3 | b |
4 | C |
5 | d |
6 | b |
7 | b |
8 | C |
我想要的是:
数组 = [3.234,2.467,4.56,4.7]
姓名 | 迎合 | 平均 |
---|---|---|
1 | 一个 | 3.234 |
2 | 一个 | 3.234 |
3 | b | 2.467 |
4 | C | 4.56 |
5 | d | 4.7 |
6 | b | 2.467 |
7 | b | 2.467 |
8 | C | 4.56 |
我知道这有点奇怪,我只想将数组值用于更正基于位置的餐饮名称。我定义了一个函数试图实现这一点,不知道为什么我只是在正确的位置添加第一个数组,其他的仍然为空,我对 python 很差。
解决方案
利用.map()
import pandas as pd
import numpy as np
framework = pd.DataFrame({
"name": np.arange(8),
"cater": ['a','a','b','c','d','b','b','c',]
})
map_ = {'a': 3.234, 'b': 2.467, 'c': 4.56, 'd': 4.7}
framework["average"] = framework["cater"].map(map_)
print(framework)
出去:
name cater average
0 0 a 3.234
1 1 a 3.234
2 2 b 2.467
3 3 c 4.560
4 4 d 4.700
5 5 b 2.467
6 6 b 2.467
7 7 c 4.560
推荐阅读
- c# - 使用 oledb 的 C# 更新命令
- python - 带有 groupby 和条件的 Pandas 滚动总和
- git - 列出 git 中的所有下游本地分支
- android - 持续的 touchListener(类似钢琴的界面)
- linux - 错误:立即不能被单个移动
- python - 如何使用 ajax 实现长芹菜任务的进度条
- mysql - 使用带有 GROUP BY 和 INNER JOIN 的 MIN() 函数删除重复行
- javascript - Node.js:未显示成功和错误消息
- xcode - 是否可以在 Git 中包含 SPM 签出?
- c++ - 整数字面量太大,无法用任何整数类型表示——C++