【问题标题】:Copy data-frame cell and append to new column on end of data-frame in all rows复制数据框单元格并附加到所有行中数据框末尾的新列
【发布时间】:2018-08-01 23:54:27
【问题描述】:

我有一个名为 'df_main' 的数据框,其中的行数随着用户每次导入 csv 而改变。无论有多少行,“沙龙总计”行和'Paid_BB_Percent' 列都将始终存在。我想从df_main.loc['salon totals', 'Paid_BB_Percent] 复制数据,并在名为'Store_BB_Percent' 的数据框末尾创建一个新列,其中列中的每个单元格都包含此数据的副本。

我的想法是我将拥有另一个数据框,其中将包含一行df_manager = df_main[df_main['Employee'].str.contains(manager_name)],该行将用于通过用户输入查找特定的经理行,然后将添加一个新列,如下所示:@987654327 @

另一种更好的方法是将df_main.iloc['salon totals', 'Paid_BB_Percent'] 乘以df_manager['Manager_Service_Diff'],如下所示:

df_manager['Manager_BB_Bonus'] = (df_main.loc['salon totals', 'Paid_BB_Percent'] * df_manager['Manager_Service_Diff'])

问题在于我运行时:

df_manager = df_main[df_main['Employee'].str.contains(manager_name)] df_manager['Service_Breakpoint'] = 1700 df_manager['Manager_Service_Diff'] = (df_manager['Service_Sales'] - df_manager['Service_Breakpoint']) df_manager['Manager_BB_Bonus'] = (df_main.loc['salon totals', 'Paid_BB_Percent'] * df_manager['Manager_Service_Diff']) df_manager

我收到错误:“KeyError: '标签 [沙龙总数] 不在 [索引]'”

感谢任何帮助。

【问题讨论】:

  • 您正在尝试将数据帧与系列相乘。什么是预期的乘法运算?
  • 我不明白你在说什么.. 这也不起作用... df_manager['Manager_BB_Bonus'] = (df_main.loc['salon totals', 'Paid_BB_Percent'] * df_manager.loc['salon totals', 'Manager_Service_Diff'])
  • 什么不起作用?我已经发布了答案。
  • 好的。所以我可以通过使用整数位置来做到这一点...df_manager['Manager_BB_Bonus'] = (df_main.iloc[-1, 5] * df_manager['Manager_Service_Diff']) 供将来需要此功能的任何人使用。

标签: python pandas csv


【解决方案1】:

如果您尝试将三个系列相乘。假设您正在尝试将第一个值相乘

 df_main['salon totals'][0]* df_main['Paid_BB_Percent'][0]* df_main['Manager_Service_Diff'][0]

【讨论】:

  • 我正在尝试使用 df_main['Manager_Service_Diff'] 将“沙龙总计”行和“Paid_BB_Percent”列中的单个单元格添加到多个单元格中
猜你喜欢
  • 2020-09-04
  • 2019-04-12
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
  • 2018-02-12
  • 2020-09-26
相关资源
最近更新 更多