小编Jam*_*ong的帖子

One-Hot-Encode分类变量和同时缩放连续的变量

我很困惑,因为如果你第一次这样做会成为一个问题OneHotEncoder然后StandardScaler因为缩放器也将缩放之前转换过的列OneHotEncoder.有没有办法同时执行编码和缩放,然后将结果连接在一起?

python scikit-learn

12
推荐指数
3
解决办法
9737
查看次数

使用scikit-learn对连续变量和分类变量(整数类型)进行预处理

主要目标如下:

1)适用StandardScaler于连续变量

2)应用LabelEncoderOnehotEncoder分类变量

连续变量需要缩放,但同时,一些分类变量也是整数类型.应用StandardScaler会导致不良影响.

另一方面,StandardScaler将扩展基于整数的分类变量,这也不是我们的.

由于连续变量和分类变量混合在一个PandasDataFrame中,所以推荐的工作流程是什么来解决这类问题?

说明我的观点的最好例子是Kaggle Bike Sharing Demand数据集,其中seasonweather是整数分类变量

python machine-learning pandas scikit-learn categorical-data

9
推荐指数
1
解决办法
5899
查看次数

如何将多个功能应用于groupby对象

例如,我有两个lambda函数可应用于分组的数据帧:

df.groupby(['A', 'B']).apply(lambda g: ...)
df.groupby(['A', 'B']).apply(lambda g: ...)
Run Code Online (Sandbox Code Playgroud)

两者都可以,但不能同时使用:

df.groupby(['A', 'B']).apply([lambda g: ..., lambda g: ...])
Run Code Online (Sandbox Code Playgroud)

这是为什么?如何将不同的功能应用于已分组的对象,并使每个结果按列逐列连接在一起?

有没有一种方法可以不为函数指定某些列?您建议的所有内容似乎仅适用于某些列。

python dataframe pandas

7
推荐指数
1
解决办法
2941
查看次数

-bash: sudo: 没有这样的文件或目录

每当打开终端时,我总是会遇到同样的错误。

-bash: export: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/usr/local/hadoop/bin': not a valid identifier
Run Code Online (Sandbox Code Playgroud)

每当运行命令行时,终端都会抛出错误,例如

-bash: sudo: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我什至无法编辑 ~/.bashrcgedit ~/.bashrc我认为这可能是问题所在。但 aecho $PATH给了我一个空行。

顺便说一句,所有这些事情都发生在我的个人帐户下。有一个专用的 hadoop 用户帐户,我专门为运行 hadoop 创建了该帐户,并且实际上运行良好,没有出现任何故障。

如果有人能告诉我这里发生了什么,我真的很感激,这让我沮丧了一周左右。提前致谢。

编辑:

事实证明,在我创建第二个帐户(用于hadoop)之前,我在文件末尾修改了它的bashrc,我完全忘记了。因此,它必然会遇到麻烦。休再次感谢你们帮助我,提醒我检查 bashrc 文件以及显然如何在这种情况下运行命令行。

bash environment-variables

5
推荐指数
1
解决办法
2万
查看次数

在Pandas DataFrame的多列上使用fillna方法失败

为什么此操作会失败?例如:

a = pd.DataFrame({'a': [1,2,np.nan, np.nan],
                 'b': [5,np.nan,6, np.nan],
                 'c': [5, 1, 5, 2]})


a[['a', 'b']].fillna(0, inplace=True)
Run Code Online (Sandbox Code Playgroud)

并给了我这个警告:

SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame
Run Code Online (Sandbox Code Playgroud)

但是a仍然NA像以前一样充满。但是,如果我.fillna()分别在每个列上调用,就不会有问题。如何NA一次拍摄多列值?

python pandas na

5
推荐指数
1
解决办法
1853
查看次数

Pandas fillna在multiindex系列

series_A为NAS由多指标索引(X, Y),而值填补是在Series_B,这是由索引X.如何有效地解决这类问题?

例如,这是series_A:

bar  one    0.299368
     two         NaN
baz  one   -0.863838
     two   -0.251905
foo  one    1.063327
     two         NaN
qux  one    0.206053
     two    0.408204
Run Code Online (Sandbox Code Playgroud)

series_B包含要填写的值:

bar  0.123
foo  0.456
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
368
查看次数