python - 根据另一列填充 pandas 列

标签 python pandas apply

我想根据另一列中的条目填充数据框一列的每一行,特别是我想用该股票相应股票代码的相应名称填充每一行,如下所示

dict1 = [{'ticker': 'AAPL','Name': 'Apple Inc.'},
 {'ticker': 'MSFT','Name': 'Microsoft Corporation'}]

df1 = pd.DataFrame(dict1)

此函数提供给定代码的名称:

所以我可以提取 MSFT 的名称:

dict1 = [{'ticker': 'AAPL','Name': 'Apple Inc.'},
 {'ticker': 'MSFT','Name': get_nasdaq_symbols().loc['MSFT'].loc['Security Name'][:-15]}]

我正在努力寻找一种通过 for 循环或 apply 来自动执行此操作的方法。谁能提出一种方法?

注意,用于拉取名称的函数来自这里:

 from pandas_datareader.nasdaq_trader import get_nasdaq_symbols

最佳答案

您可以先创建一个系列映射:

ticker_name_map = get_nasdaq_symbols()['Security Name'].str[:-15]

然后使用 pd.Series.map 1:

df1['Name'] = df1['ticker'].map(ticker_name_map)

如果您希望未映射的值保持不变,请使用后续的 fillna:

df1['Name'] = df1['ticker'].map(ticker_name_map).fillna(df1['Name'])

1 pd.Series.replace也是可以的,但是inefficient .

关于python - 根据另一列填充 pandas 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53859920/

相关文章:

python - 如何添加另一个数据框的索引

python - 选择每组的最大值

r - apply() 没有按预期工作

r - 根据条件将列名写入变量

python - Django 模型父链接的自定义相关名称?

修改列表中所有项目并将列表保存到 .txt 文件的 Pythonic 方法

python - 如何测试一个变量是否改变? Python

python - 使用 python 和 pandas 按数据框分组

python - Pandas - 如何将字符串列转换为整数...然后转换为 10 个字符的字符串

r - 计算数据帧的所有行和特定列的公式