在Python中基于带有熊猫的索引在新列中添加值

阿纳克

我只是进入熊猫,我正在尝试向现有数据框添加新列。

我有两个数据帧,其中一个数据帧的索引链接到另一数据帧中的列。在这些值相等的地方,我需要将源数据帧中另一列的值放在目标列的新列中。

下面的代码部分说明了我的意思。评论的部分是我需要的输出。

我想我需要.loc[]功能。

另一个较小的问题:拥有非唯一索引是一种不好的做法吗?

import pandas as pd

d = {'key':['a',  'b', 'c'], 
     'bar':[1, 2, 3]}

d2 = {'key':['a', 'a', 'b'],
      'other_data':['10', '20', '30']}

df = pd.DataFrame(d)
df2 = pd.DataFrame(data = d2)
df2 = df2.set_index('key')

print df2

##    other_data  new_col
##key           
##a            10   1
##a            20   1
##b            30   2
耶斯列尔

使用重命名index方式Series

df2['new'] = df2.rename(index=df.set_index('key')['bar']).index
print (df2)

    other_data  new
key                
a           10    1
a           20    1
b           30    2

map

df2['new'] = df2.index.to_series().map(df.set_index('key')['bar'])
print (df2)

    other_data  new
key                
a           10    1
a           20    1
b           30    2

如果要更好的性能,最好是避免索引重复。还有一些功能,例如reindex重复索引失败。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在带有熊猫的for循环内的CSV数据帧中添加新行

根据带有熊猫的其他列在列中添加随机值

如何基于带有熊猫的索引列表将字符串的数据帧分为多列?

遍历目录中的文件并将结果写入带有熊猫的数据帧的新行

向熊猫中的现有列添加值

向熊猫中的现有行/列添加值

在熊猫矩阵[python]中添加值0并填充缺失的列

带有熊猫的DataFrame中的每小时数据

熊猫:如何在数据框架中创建新列并考虑其他现有列在其中添加值

如何根据 Python 数据框中现有的值向新列添加值?

检查两列中是否有熊猫值

在列出所有熊猫列中搜索单词

根据条件在新列中添加值

如何基于熊猫中的聚合函数添加新列

跟踪数据框中的文件并将位置放在带有熊猫的另一列中

使用groupby的一列创建带有熊猫的X个新列

如何创建一个新列,其中包含Nan带有熊猫的列的名称?

如何基于MySQL中的条件创建新列并向其中添加值?

每组的唯一值计数为带有熊猫的新列

如何摆脱某些列并将其写到另一个带有熊猫的文件中?

如何在具有分层索引的熊猫数据框中添加和计算(基于其他列)子列?

如何在由静态的预定义列表组成的现有熊猫数据框中添加一列?

在列中添加值

创建一个新变量并基于带有熊猫数据框的日期范围应用条件值

熊猫:从旧创建新列,添加值

在Python中将具有多列文件的文件导入为带有熊猫的变量

在多索引列数据框中的列末尾添加值

熊猫从具有更大索引的列表中添加列

CSV 向现有列添加值并从字典中调用(无熊猫)