【发布时间】:2020-04-06 09:54:49
【问题描述】:
我正在尝试将数据框 (OPR) 中的两列 (ActualSalary * FTE) 相乘以创建一个新列 (FTESalary),但不知何故它已停在第 21357 行,我不明白出了什么问题或如何解决修理它。这两列来自使用以下行导入 csv 文件:OPR = pd.read_csv('OPR.csv', encoding='latin1')
[In] OPR
[out]
ActualSalary FTE
44600 1
58,000.00 1
70,000.00 1
17550 1
34693 1
15674 0.4
[In] OPR["FTESalary"] = OPR["ActualSalary"].str.replace(",", "").astype("float")*OPR["FTE"]
[In] OPR
[out]
ActualSalary FTE FTESalary
44600 1 44600
58,000.00 1 58000
70,000.00 1 70000
17550 1 NaN
34693 1 NaN
15674 0.4 NaN
我根本不期望任何 NULL 值作为输出,我真的很挣扎。我非常感谢您的帮助。 提前谢谢了! (我是编码和这里的新手,如果我犯了错误或可以改进我在这里发布问题的方式,请通过消息告诉我)
分享数据@oppresiveslayer
[In] OPR[0:6].to_dict()
[out]
{'ActualSalary': {0: '44600',
1: '58,000.00',
2: '70,000.00',
3: '39,780.00',
4: '0.00',
5: '78,850.00'},
'FTE': {0: 1.0, 1: 1.0, 2: 1.0, 3: 1.0, 4: 1.0, 5: 1.0}}
有关这两列的更多信息@charlesreid1
[in] OPR['ActualSalary'].astype
[out]
Name: ActualSalary, Length: 21567, dtype: object>
[in] OPR['FTE'].astype
[out]
Name: FTE, Length: 21567, dtype: float64>
我正在使用的版本: python: 3.7.3, pandas: jupyter Notebook 6.0.0 上的 0.25.1
【问题讨论】:
-
这对我来说是一本好书,有很多东西要学,但不幸的是,我在这里遇到的问题并不完全相同。谢谢@charlesreid1
-
通过 construct 数据框,您是指我最初是如何拥有这些数据的吗?我已经从 csv 文件中加载了它。 ActualSalary 是 dtype: object,而 FTE 是 dtype: float64。我现在将修改我的问题以包含此内容
标签: python pandas matrix-multiplication