重新安装anaconda后,我设置了一个新的Pycharm项目。当我调试我的一个 python 脚本时,它收到此错误:
pydev 调试器:进程 12636 正在连接
进程已完成,退出代码为 -1073741819 (0xC0000005)
这仅在我调试时发生。有什么建议吗?
作为参考,这些是我目前使用的软件版本:
Python 版本:3.5
Pycharm 版本:2017.3
Anaconda Navigator 版本:1.8.7
我需要规范化包含全零填充的行的数据帧的行。例如:
df= pd.DataFrame({"ID": ['1', '2', '3', '4'], "A": [1, 0, 10, 0], "B": [4, 0, 30, 0]})
ID A B
1 1 4
2 0 0
3 10 30
4 0 0
Run Code Online (Sandbox Code Playgroud)
我的方法是首先排除零值行,然后使用以下方法规范化非零子集:
df1 = df[df.sum(axis=1) != 0]
df2 = df[df.sum(axis=1) == 0]
sum_row = df1.sum(axis=1)
df1.div(sum_row, axis=0)
Run Code Online (Sandbox Code Playgroud)
然后按如下方式连接两个数据帧:
pd.concat([df1, df2]).reset_index()
Run Code Online (Sandbox Code Playgroud)
但是,我在申请时遇到以下错误 df1.div(sum_row, axis=0)
ValueError: 操作数无法与形状 (6,) (2,) 一起广播
我想知道如何修复错误以及是否存在更有效的方法。谢谢!
编辑:预计生成的数据框如下所示:
ID A B
1 0.2 0.8
2 0 0
3 0.25 0.75
4 0 0
Run Code Online (Sandbox Code Playgroud)