小编Gya*_*eda的帖子

如何将行附加到R数据框

我查看了StackOverflow,但我找不到特定于我的问题的解决方案,这涉及将行附加到R数据帧.

我正在初始化一个空的2列数据帧,如下所示.

df = data.frame(x = numeric(), y = character())
Run Code Online (Sandbox Code Playgroud)

然后,我的目标是迭代一个值列表,并在每次迭代中,将值附加到列表的末尾.我从以下代码开始.

for (i in 1:10) {
    df$x = rbind(df$x, i)
    df$y = rbind(df$y, toString(i))
}
Run Code Online (Sandbox Code Playgroud)

我也试图功能c,append以及merge没有成功.如果您有任何建议,请告诉我.

merge r append rows dataframe

109
推荐指数
4
解决办法
31万
查看次数

Pandas DataFrame存储列表为字符串:如何转换回列表?

我有一个n- by- m的 Pandas DataFrame df定义如下.(我知道这不是最好的方法.对于我在实际代码中尝试做的事情是有意义的,但这个帖子的TMI就是这样,所以请理解我的方法,这种方法适用于我的特定场景.)

>>> df = DataFrame(columns=['col1'])
>>> df.append(Series([None]), ignore_index=True)
>>> df
Empty DataFrame
Columns: [col1]
Index: []
Run Code Online (Sandbox Code Playgroud)

我将列表存储在此DataFrame的单元格中,如下所示.

>>> df['column1'][0] = [1.23, 2.34]
>>> df
     col1
0  [1, 2]
Run Code Online (Sandbox Code Playgroud)

出于某种原因,DataFrame将此列表存储为字符串而不是列表.

>>> df['column1'][0]
'[1.23, 2.34]'
Run Code Online (Sandbox Code Playgroud)

我有两个问题要问你.

  1. 为什么DataFrame将列表存储为字符串,是否有解决此问题的方法?
  2. 如果没有,那么是否有一种Pythonic方法将此字符串转换为列表?

更新

我使用的DataFrame已经保存并从CSV格式加载.这种格式而不是DataFrame本身将列表从字符串转换为文字.

python string list dataframe pandas

41
推荐指数
4
解决办法
3万
查看次数

用于垃圾邮件检测的神经网络

假设您可以访问一个电子邮件帐户,其中包含过去几年收到的电子邮件的历史记录(~10k封电子邮件),分为2组

  • 真正的邮箱
  • 垃圾邮件

您将如何处理创建可用于垃圾邮件检测的神经网络解决方案的任务 - 基本上将任何电子邮件分类为垃圾邮件或非垃圾邮件?

我们假设电子邮件提取已经到位,我们只需要关注分类部分.

我希望得到回答的要点是:

  1. 选择哪个参数作为NN的输入,为什么?
  2. NN的哪种结构最有可能最适合这样的任务?

此外,任何资源建议或现有实现(最好是在C#中)都非常受欢迎

谢谢

编辑

  • 我开始使用神经网络,因为该项目的主要方面是测试NN方法如何用于垃圾邮件检测
  • 此外,仅仅是探索神经网络和垃圾邮件的主题是一个"玩具问题"

classification machine-learning spam-prevention neural-network

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

反向Box-Cox变换

我正在使用SciPy的boxcox函数对连续变量执行Box-Cox变换.

from scipy.stats import boxcox
import numpy as np
y = np.random.random(100)
y_box, lambda_ = ss.boxcox(y + 1) # Add 1 to be able to transform 0 values
Run Code Online (Sandbox Code Playgroud)

然后,我拟合一个统计模型来预测这个Box-Cox变换变量的值.模型预测是Box-Cox量表,我想将它们转换为变量的原始比例.

from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor()
X = np.random.random((100, 100))
rf.fit(X, y_box)
pred_box = rf.predict(X)
Run Code Online (Sandbox Code Playgroud)

但是,在找到转换数据和lambda的情况下,我找不到执行反向Box-Cox变换的SciPy函数.有这样的功能吗?我现在编码一个逆变换.

pred_y = np.power((y_box * lambda_) + 1, 1 / lambda_) - 1
Run Code Online (Sandbox Code Playgroud)

python statistics transformation inverse scipy

18
推荐指数
3
解决办法
9698
查看次数

scikit-learn中的'详细'论证

许多scikit-learn函数都有一个verbose参数,根据他们的文档,"[c]控制详细程度:越高,消息越多"(例如,GridSearchCV).

遗憾的是,没有提供关于允许整数的指导(例如,用户可以将详细程度设置为100?)以及详细程度与哪些整数相对应.我无法在文档中的任何位置找到此信息.

我的问题是,哪个整数映射到哪个级别的详细程度?

python arguments verbosity verbose scikit-learn

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

结合scikit-learn中的特征提取类

我正在使用sklearn.pipeline.Pipeline链接特征提取器和分类器.有没有办法sklearn.feature_selection.text并行组合多个特征选择类(例如来自哪些)并加入它们的输出?

我的代码现在看起来如下:

pipeline = Pipeline([
    ('vect', CountVectorizer()),
    ('tfidf', TfidfTransformer()),
    ('clf', SGDClassifier())])
Run Code Online (Sandbox Code Playgroud)

它导致以下结果:

vect -> tfidf -> clf
Run Code Online (Sandbox Code Playgroud)

我希望能够指定一个如下所示的管道:

vect1 -> tfidf1 \
                 -> clf
vect2 -> tfidf2 /
Run Code Online (Sandbox Code Playgroud)

python machine-learning feature-extraction scikit-learn

16
推荐指数
1
解决办法
4490
查看次数

如何退出Python函数,抛出错误语句而不退出Python解释器

我是Python新手,在处理自定义错误方面苦苦挣扎.当我的代码发现错误时,我希望它以红色字体抛出错误并将我带回Python终端而不会杀死Python.

我遇到了sys.exit()寻找答案,但它完全退出了Python.你知道吗,回抛出以红色字体出现错误的替代,并把我带回到终端?

这就是我到目前为止所拥有的.

import sys
def do_something(parameter):
    if parameter > 100:
        # quit the function and any function(s) that may have called it
        sys.exit('Your parameter should not be greater than 100!')
    else:
        # otherwise, carry on with the rest of the code
Run Code Online (Sandbox Code Playgroud)

如果我不清楚,请告诉我,我很乐意提供更多详情.谢谢大家!

python error-handling exception function quit

15
推荐指数
1
解决办法
4万
查看次数

使用Hadoop,我的Reducer是否可以保证使用相同的密钥获取所有记录?

我正在使用Hive运行Hadoop作业实际上应该uniq在许多文本文件中排队.在reduce步骤中,它为每个键选择最近时间戳记录.

Hadoop是否保证具有相同键的每个记录(通过映射步骤输出)将转到单个reducer,即使在群集中运行了许多Reducer?

我担心在具有相同密钥的一组记录中间发生shuffle后,mapper输出可能会被拆分.

hadoop hive mapreduce uniq

14
推荐指数
2
解决办法
5819
查看次数

Python函数可以只返回两个值中的第二个吗?

我有一个返回多个值的Python函数.作为此问题的示例,请考虑下面的函数,它返回两个值.

def function():
    ...
    return x, y
Run Code Online (Sandbox Code Playgroud)

我知道这个函数可以返回两个值x, y = function().但是这个函数有可能只返回第二个值吗?

例如,在MATLAB中,可以执行以下操作:~, y = function().我还没有在Python中找到一个等效的方法.

python matlab return function

13
推荐指数
2
解决办法
3405
查看次数

在python中传递命名变量参数

说我有以下方法:

def methodA(arg, **kwargs):
    pass

def methodB(arg, *args, **kwargs):
    pass
Run Code Online (Sandbox Code Playgroud)

在methodA中,我希望调用methodB,传递kwargs.但是,似乎如果我定义methodA如下,第二个参数将作为位置而不是命名变量参数传递.

def methodA(arg, **kwargs):
    methodB("argvalue", kwargs)
Run Code Online (Sandbox Code Playgroud)

如何确保methodA中的**kwargs作为**kwargs传递给methodB?

python variadic-functions

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