小编jim*_*on 的帖子

在 Python 中评估词串的辅音/元音组成

我正在尝试将 Python 字符串从其原始形式转换为其元音/辅音组合。

例如 - 'Dog' 变成 'cvc','Bike' 变成 'cvcv'

在 RI 中能够采用以下方法:

   con_vowel <- gsub("[aeiouAEIOU]","V",df$col_name)
   con_vowel <- gsub("[^V]","C",con_vowel)
   df[["composition"]] <- con_vowel
Run Code Online (Sandbox Code Playgroud)

这将评估字符是否为元音,如果为真,则分配字符“V”,然后评估该字符串并将任何不是“V”的内容替换为“C”,然后将结果放入名为“组合”的新列中数据框。

在 Python 中,我在 attempt 中编写了一些代码来复制功能,但它没有返回所需的结果。请参阅下文。

word = 'yoyo'


for i in word.lower():
    if i in "aeiou":
       word = i.replace(i ,'v')
    else: word = i.replace(i ,'c')
print(word)
Run Code Online (Sandbox Code Playgroud)

这里的理论是每个字符都会被评估,如果它不是元音,那么通过推断它必须是一个辅音。但是我得到的结果是:

v
Run Code Online (Sandbox Code Playgroud)

我明白为什么会发生这种情况,但我不清楚如何达到我想要的结果。

请注意,我还需要将结果代码应用于数据框列并从这些结果创建一个新列。

如果你能解释你的答案的工作原理,那将对我有很大帮助。

提前致谢。

python string function pandas jupyter-notebook

9
推荐指数
2
解决办法
550
查看次数

如何从Hive中的json字符串中提取选定的值

我在Hive中运行一个简单的查询,产生以下输出(还有一些其他的列.

|------|-----------------------------------------------------------|
| col1 | col2                                                      |
|------|-----------------------------------------------------------|
|   A  | {"variable1":123,"variable2":456,"variable3":789}         |                                          
|------|-----------------------------------------------------------|
|   B  | {"variable1":222,"variable2":333,"variable3":444}         |
--------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我需要能够解析json字符串并在SELECT语句本身期间拉出每个标记的值,以便我可以合并一个WHERE语句来仅返回对我有价值的字符串部分.

所以我的最终输出可能如下所示:

|------------------------------------------|
| col1 |variable1 | variable2 | variable3  |                                      
|------------------------------------------|
|  A   |   123    |    456    |    789     |                                    
|------------------------------------------|
|  B   |   222    |    333    |    444     |
--------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我尝试使用各种函数包括SPLIT和GET_JSON_OBJECT使用esnap中指定的参数结构,但所有返回错误,例如:

No matching method for class org.apache.hadoop.hive.ql.udf.UDFJson 
with (struct<...>, string). Possible choices: _FUNC_(string, string)
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我,我想要做的是可行的,还是解释我哪里出错了?

提前致谢

sql json hadoop hive hiveql

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

Python 中的自动 ARIMA 导致趋势拟合预测不佳

ARIMA 新手,尝试使用自动 ARIMA 在 Python 中对数据集进行建模。\n我正在使用自动 ARIMA,因为我相信它可以更好地定义 p、d 和 q 的值,但结果很差,我需要一些指导。\n请参阅下面我的可重复尝试

\n

尝试如下:

\n
    # DEPENDENCIES\n    import pandas as pd \n    import numpy as np \n    import matplotlib.pyplot as plt\n    import pmdarima as pm \n    from pmdarima.model_selection import train_test_split \n    from statsmodels.tsa.stattools import adfuller\n    from pmdarima.arima import ADFTest\n    from pmdarima import auto_arima\n    from sklearn.metrics import r2_score \n\n# CREATE DATA\ndata_plot = pd.DataFrame(data removed)\n\n# SET INDEX\ndata_plot[\'date_index\'] = pd.to_datetime(data_plot[\'date\']\ndata_plot.set_index(\'date_index\', inplace=True)\n\n# CREATE ARIMA DATASET\narima_data = data_plot[[\'value\']]\narima_data\n\n# PLOT DATA\narima_data[\'value\'].plot(figsize=(7,4))\n
Run Code Online (Sandbox Code Playgroud)\n

上述步骤生成的数据集应如下所示。\n在此输入图像描述

\n
# Dicky Fuller …
Run Code Online (Sandbox Code Playgroud)

python prediction data-science arima pmdarima

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

Python 输出中的列表推导式函数字符串评估无

试图通过我定义的函数在 Python 中传递一个列表,但是当我运行代码时,我得到“无”作为输出。

为了可重复性,我将使用一个简单的示例,在该示例中,我希望将字符串中的所有单词都设为大写。

def upcase(x):
    print(x.upper())

upcase("word")
Run Code Online (Sandbox Code Playgroud)

这当然给出:

WORD
Run Code Online (Sandbox Code Playgroud)

但是现在,如果我尝试将我的函数应用于整个字符串,如下所示:

randoms = ['chicken', 'window', 'carpet', 'lampshade', 'crosswalk']

randoms_upcased = [upcase(x) for x in randoms]
print(randoms)
print(randoms_upcased)
Run Code Online (Sandbox Code Playgroud)

我得到:

CHICKEN
WINDOW
CARPET
LAMPSHADE
CROSSWALK
['chicken', 'window', 'carpet', 'lampshade', 'crosswalk']
[None, None, None, None, None]
Run Code Online (Sandbox Code Playgroud)

而我想要的输出是这个。

['chicken', 'window', 'carpet', 'lampshade', 'crosswalk']
['CHICKEN', 'WINDOW', 'CARPET', 'LAMPSHADE', 'CROSSWALK']
Run Code Online (Sandbox Code Playgroud)

这可能吗?感激地收到任何帮助。

python string list-comprehension python-3.x jupyter-notebook

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

pandas 数据帧中空值和空值的总和

我有一个包含 NULL 值和空字符串的数据框。

如下(带有repro代码)

data = {'vals1':  [None, '100','','200'],
        'vals2': ['100', '100','',''],
         'vals3': ['100', None,'100',None],
        'vals4': ['', '','','']
        }

df = pd.DataFrame (data, columns = ['vals1','vals2','vals3','vals4'])
Run Code Online (Sandbox Code Playgroud)

输出:

    vals1   vals2   vals3   vals4
0   None    100     100 
1   100     100     None    
2                   100 
3   200             None    
Run Code Online (Sandbox Code Playgroud)

您会看到有合法的空值(Python 将“None”视为空值),但也有空字符串,用空格表示,这也是数据集的合法特征。我们可以使用以下方法计算空值df.isnull().sum()

这使:

    vals1   vals2   vals3   vals4
0   True    False   False   False
1   False   False   True    False
2   False   False   False   False
3   False   False   True    False
Run Code Online (Sandbox Code Playgroud)

我可以使用df.isnull().sum()which对空值求和:

   vals1    1
   vals2    0
   vals3 …
Run Code Online (Sandbox Code Playgroud)

python string numpy pandas jupyter-notebook

0
推荐指数
2
解决办法
1771
查看次数