我正在尝试将 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)
我明白为什么会发生这种情况,但我不清楚如何达到我想要的结果。
请注意,我还需要将结果代码应用于数据框列并从这些结果创建一个新列。
如果你能解释你的答案的工作原理,那将对我有很大帮助。
提前致谢。
我在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)
有人可以告诉我,我想要做的是可行的,还是解释我哪里出错了?
提前致谢
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))\nRun Code Online (Sandbox Code Playgroud)\n\n# Dicky Fuller …Run Code Online (Sandbox Code Playgroud) 试图通过我定义的函数在 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
我有一个包含 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 ×4
string ×3
pandas ×2
arima ×1
data-science ×1
function ×1
hadoop ×1
hive ×1
hiveql ×1
json ×1
numpy ×1
pmdarima ×1
prediction ×1
python-3.x ×1
sql ×1