小编jot*_*tbe的帖子

如何在带有SED或AWK的行中添加双引号?

我有一个单词列表

name,id,3
Run Code Online (Sandbox Code Playgroud)

我需要像这样双引号

"name,id,3"
Run Code Online (Sandbox Code Playgroud)

我试过sed的/.*/\"&\"/g',得到了

"name,id,3
Run Code Online (Sandbox Code Playgroud)

只有一个双引号

我也试过awk {print"\""$ 1"\""},结果完全相同需要帮助

shell awk command-line text-processing sed

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

以不将其值保存到 bash 历史记录中的方式设置环境变量(密码)

当我以 root 身份登录 MySQL 时,我通常设置 MROOTPASS 环境变量

export MROOTPASS=my-secret-password
Run Code Online (Sandbox Code Playgroud)

然后做

mysql -u root -p$MROOTPASS
Run Code Online (Sandbox Code Playgroud)

这消除了每次我以 root 身份连接到 MySQL 时重新输入密码的需要,但显然它是不安全的,因为密码已保存到 bash 历史文件中。是否可以防止密码被保存?

bash

8
推荐指数
2
解决办法
3207
查看次数

大熊猫中的read_excel是否有chunksize参数?

我正在尝试创建一个进度条,以便使用tqdm将excel数据读入熊猫。我可以使用chunksize参数轻松地通过csv做到这一点:

data_reader = pd.read_csv(path,
                          chunksize = 1000)

for row in tqdm(data_reader,
                total = 200):
    df_list = []
    df_list.append(row)
Run Code Online (Sandbox Code Playgroud)

它将为200个总块中的每1000个块更新进度条。pd.read_excel但是,不再有chunksize争论。还有其他选择吗?

编辑:我已经读过以下问题:重新读取大块的excel文件(使用python读取大xlsx文件的一部分),但是read_excel 不再具有chunksize参数,并且pd.ExcelFile.parse等效。我想知道是否有chunksize参数的替代方法或创建一种可迭代的方法来循环读取大块。

python pandas tqdm

6
推荐指数
1
解决办法
3576
查看次数

大熊猫的日期时间默认为1970

我在以正确的格式转换日期时遇到问题。

我有一个看起来像这样的列:20130525,存储为int64

我正在尝试将其设置为日期,但出现问题。

我写了一个看起来像这样的函数:

def reformat_dates(df):
    df['column'] = pd.to_datetime(df['column'], format = "%Y-%m-%d")

    return df
Run Code Online (Sandbox Code Playgroud)

但是,当我执行该函数时,最终出现了这样的一列:

1970-01-01 00:00:00.020130525
Run Code Online (Sandbox Code Playgroud)

我的函数是否存在某种错误,使其以这种方式默认设置?我希望格式是

2013-05-25
Run Code Online (Sandbox Code Playgroud)

python datetime date datetime-format pandas

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

如何设置tqdm的r_bar部分

我使用 tqdm 打印带有 hyperopt 的长时间运行优化过程的进度条。这个过程调用一个函数 500 次,每次调用大约需要 10 到 20 分钟,所以我开始让进度显示更精细一点,并tqdm.update在循环中添加了一些 -语句,逐步推进进度条以避免有两个嵌套的进度条,同时仍然能够立即看到到目前为止执行了多少函数调用。

现在丑陋的结果是这样的:

 15%|????                    | 73.69999999999993/500 [7:40:31<102:54:08, 868.98s/it, evaluating fold 2 of  2 folds...]Iteration 1, loss = 2.50358388
Run Code Online (Sandbox Code Playgroud)

你可以在上面看到,这是函数的第 73 次调用,第 73 次函数调用大约完成了 70%。事实上,我只是估计了m函数中子步骤的数量(可能因调用而异)并使用分数1/m来更新进度条。然后在函数调用之后,我只是将进度条同步回一个完整的整数,以避免添加舍入错误。

当然,准确性在这里根本不是问题。但我想显示 73.70 而不是 73.69999999999993。我已经尝试将我的更新值四舍五入到两个小数位,这并不能解决问题,因为浮点数的精度问题,如果一个数字不能完全用浮点数表示,那么它又变得丑陋了。根据tqdm文档,这部分隐藏在r_bar整个格式字符串的部分中,但我找不到设置它的方法。你能帮我解决这个问题吗?

根据文档r_bar默认为:

r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, '
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

with tqdm(iterable=None, initial=num_trials, maxinterval=maxinterval, total=max_evals, ascii=False, disable=show_progressbar is False) as progress_bar:
    def fn_to_minimize(*args, **kwargs):
        return fn(*args, **kwargs, _progress_bar=progress_bar)

    for num_trials in range(num_trials, …
Run Code Online (Sandbox Code Playgroud)

python-3.x tqdm

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

为什么“不是无”与 dataframe.loc 一起工作,但“!=无”工作正常?

我目前正在使用 Pandas 数据框,我想选择数据框中没有 None 实体属性的所有数据条目。

df_ = df.loc[df['entities'] != None]
Run Code Online (Sandbox Code Playgroud)

似乎工作得很好但是

df_ = df.loc[df['entities'] is not None]
Run Code Online (Sandbox Code Playgroud)

将引发 KeyError 是

文件“pandas_libs\index.pyx”,第 107 行,>pandas._libs.index.IndexEngine.get_loc 文件“pandas_libs\index.pyx”,第 128 行,>pandas._libs.index.IndexEngine.get_loc 文件“pandas_libs\ index_class_helper.pxi”,第 91 行,在 >pandas._libs.index.Int64Engine._check_type KeyError: True

好吧,我已经知道我原来的问题的解决方案,我只是好奇为什么会发生这种情况

python pandas

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

类型错误:无法解包不可迭代的 int 对象

我如何解决这个错误运行我的代码如下。我正在使用下面的函数并在运行窗口中实现循环,但最终得到以下错误。for 循环起作用并挂在某个点上。

def get_grps(s, thresh=-1, Nmin=3):
    """
    Nmin : int > 0
    Min number of consecutive values below threshold.
    """
    m = np.logical_and.reduce([s.shift(-i).le(thresh) for i in range(Nmin)])
    if Nmin > 1:
        m = pd.Series(m, index=s.index).replace({False: np.NaN}).ffill(limit=Nmin - 1).fillna(False)
    else:
        m = pd.Series(m, index=s.index)

    # Form consecutive groups
    gps = m.ne(m.shift(1)).cumsum().where(m)

    # Return None if no groups, else the aggregations
    if gps.isnull().all():
        return 0
    else:
        agg = s.groupby(gps).agg([list, sum, 'size']).reset_index(drop=True)
        # agg2 = s2.groupby(gps).agg([list, sum, 'size']).reset_index(drop=True)
        return agg, gps


data_spi = …
Run Code Online (Sandbox Code Playgroud)

python numpy scipy pandas python-xarray

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

如何在无监督学习模型(cbow、skipgram)的fasttext中获取最近邻?

fasttext 官方网站 (fasttext.cc) 上的示例(与单词表示相关)表明,可以计算使用 cbow(或skip-gram 模型)导出的向量(简而言之,在无监督学习模型上)的最近邻。据称,这可以使用get_nearest_neighbors模型 ( model.get_nearest_neighbors) 上的函数来完成。然而,当我尝试执行该操作时,Python (3.7.) 向我显示了一条消息,即对于无监督学习模型,fasttext 中不存在此函数,事实上,当我查看 fasttext 帮助时,我没有看到此函数。唯一存在的类似函数是模型上的谓词(model.predict(其中指定 k)),但这只能在监督学习模型上完成。

谁能向我解释发生了什么事,并帮助我解决这个问题?有什么方法可以计算 fasttext 中无监督学习模型的最近邻居吗?:-)

python nearest-neighbor unsupervised-learning fasttext

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