python - 如何使用循环 Pandas 将值添加到列

标签 python pandas loops dataframe

我想知道如何在从网络抓取信息中动态更改列的值。

目前,我有这样的事情:

号码名称 12 不适用 13 不适用 14 不适用 15 不适用

我希望收到这样的东西:

号码名称 12 迈克 13 鲍勃 14 鲍比 15马克

我尝试过使用这个: 对于电话簿中的号码: 名称 = 获取名称() 电话簿['姓名'][号码] = 姓名

phonebook.loc[phonebook.index[号码], '姓名'] = 姓名

但它只是设置所有号码的最后一个号码的名称:

号码名称 12马克 13马克 14 马克 15马克 我怎样才能将每个名字添加到其各自的号码中?

谢谢

最佳答案

从您的网络抓取中,您可以构建一个如下所示的字典:


name = {12: 'Mike', 13: 'Bob', 14: 'Bobby', 15: 'Mark'}

然后您可以映射到现有框架:

df['name']=df['number'].map(name)
df = df.set_index('number')
print(df) 
         
number   name    
12       Mike
13        Bob
14      Bobby
15       Mark

关于python - 如何使用循环 Pandas 将值添加到列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58824358/

相关文章:

python - eval 抛出 "TypeError: unhashable type: ' numpy.ndarray'"

python - C/Python API : efficiency of Py_BuildValue use

python - 求解两个变量的方程组 - Python

python - 根据条件下降

python - Pandas 在选定的列中查找重复的串联值

pandas:以列名的模式对表进行透视的最优雅方法

loops - 带有着色器模型 2.0 的 HLSL for 循环 : Error X3511 unable to unroll loop

haskell - 重复调用 Haskell monad

javascript - 在 for 循环中使用 jQuery.each 将数组映射到元素文本?

python - 命令提示符 : Set up for Python 2. 默认为 7