我有点困惑 - 在这里创建一个 ML 模型。
我正处于尝试从“大”数据框(180 列)中获取分类特征的步骤,并对它们进行单一处理,以便我可以找到特征之间的相关性并选择“最佳”特征。
这是我的代码:
# import labelencoder
from sklearn.preprocessing import LabelEncoder
# instantiate labelencoder object
le = LabelEncoder()
# apply le on categorical feature columns
df = df.apply(lambda col: le.fit_transform(col))
df.head(10)
Run Code Online (Sandbox Code Playgroud)
运行它时,我收到以下错误:
TypeError: ('argument must be a string or number', 'occurred at index LockTenor')
所以我转到 LockTenor 字段并查看所有不同的值:
df.LockTenor.unique()
Run Code Online (Sandbox Code Playgroud)
结果如下:
array([60.0, 45.0, 'z', 90.0, 75.0, 30.0], dtype=object)
对我来说看起来像所有的字符串和数字。错误是否是因为它是浮点数而不一定是 INT 引起的?
python machine-learning feature-selection scikit-learn one-hot-encoding
我有一个数据框,基于名为“originator”的列中的字符串,我想检查该字符串是否包含位于另一个列表中的单词。如果该字符串包含位于所述列表中的单词,则将列 originator_prediction 更新为“org”。
有一个更好的方法吗?我是按照以下方式做的,但速度很慢。
for row in df['ORIGINATOR'][1:]:
string = str(row)
splits = string.split()
for word in splits:
if word in COMMON_ORG_UNIGRAMS_LIST:
df['ORGINATOR_PREDICTION'] = 'Org'
else:
continue
Run Code Online (Sandbox Code Playgroud)
df = pd.DataFrame({'ORIGINATOR': ['JOHN DOE', 'APPLE INC', 'MIKE LOWRY'],
'ORGINATOR_PREDICTION': ['Person', 'Person','Person']})
COMMON_ORG_UNIGRAMS_LIST = ['INC','LLC','LP']
Run Code Online (Sandbox Code Playgroud)
具体来说,如果您查看我们的数据框“APPLE INC”中的第 2 行,应该有一个 originator_prediction = 'ORG' 而不是 person。
原因是,我们遍历了常见的 org unigrams 列表,里面有 INC 这个词。
Snowflake 是否允许您创建一系列 CTE,然后最后将它们连接在一起以创建表格?
例如:
with CTE1 as ( SELECT * FROM TABLE1)
,CTE2 AS (SELECT * FROM TABLE2)
,CTE3 AS (SELECT * FROM TABLE3)
CREATE TABLE TABLE_NAME_HERE AS
SELECT * FROM CTE1 AS 1
LEFT JOIN CTE2 AS 2 ON 1.KEY = 2.KEY
LEFT JOIN CTE3 AS 3 ON 1.KEY = 3.KEY
Run Code Online (Sandbox Code Playgroud)
我收到unexpected 'CREATE'.错误
由于某种原因,Snowflake 正在从我的正则表达式函数中删除反斜杠,但仅当我在创建 Javascript 过程时将该函数放在“$$”之间时才删除。
对于上下文,这里是我的正则表达式函数:
CREATE OR REPLACE FUNCTION "REGEX_REPLACE_ME"("SUBJECT" VARCHAR(16777216), "PATTERN" VARCHAR(16777216), "REPLACEMENT" VARCHAR(16777216))
RETURNS VARCHAR(16777216)
LANGUAGE JAVASCRIPT
AS '
const p = SUBJECT;
let regex = new RegExp(PATTERN, ''i'')
return p.replace(regex, REPLACEMENT);
';
Run Code Online (Sandbox Code Playgroud)
当我简单地在 SQL 中运行它时,它就可以工作;它将把“APPLE.com”更改为“APPLE”。
SELECT REXP_REPLACE_ME('APPLE.COM','\\.[A-Z]{2,3}',' ') -- the regex pattern \\.[A-Z]{2,3} is meant to remove domains i.e. ".com",".org", etc..
Run Code Online (Sandbox Code Playgroud)
但是,当我在存储过程的 $$ 内运行它时,它会从我的正则表达式模式中删除反斜杠,从而完全更改正则表达式模式。
我的正则表达式从变为\\.[A-Z]{2,3}-> .[A-Z]{2,3}
CREATE or replace PROCEDURE TESTING_FUNC_1_THIS_CAN_BE_DELETED()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var rs = snowflake.execute( { sqlText:
`
CREATE …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 xlsxwriter 将 Pandas 数据框输出到 excel 文件中。但是我正在尝试应用一些基于规则的格式;专门尝试合并具有相同值的单元格,但在想出如何编写循环时遇到了麻烦。(这里是 Python 新手!)
请参阅下面的输出与预期输出:
(正如您根据上图所见,当 Name 列下的单元格具有相同的值时,我正在尝试合并它们)。
这是我迄今为止所拥有的:
#This is the logic you use to merge cells in xlsxwriter (just an example)
worksheet.merge_range('A3:A4','value you want in merged cells', merge_format)
#Merge Car type Loop thought process...
#1.Loop through data frame where row n Name = row n -1 Name
#2.Get the length of the rows that have the same Name
#3.Based off the length run the merge_range function from xlsxwriter, worksheet.merge_range('range_found_from_loop','Name', merge_format)
for row_index in …Run Code Online (Sandbox Code Playgroud) 是否可以使用 Plotly Dash 创建线条颜色渐变的折线图(纯粹为了美观)?
我尝试使用类似的东西:
'line': {'color': 'linear-gradient(90deg, red, red 60%, white)' }
Run Code Online (Sandbox Code Playgroud)
绘图破折号中的整个图形代码示例:
dcc.Graph(
id='MORTGAGE_RATES',
figure={
'data': [
{ "x": MORTGAGE30US['date'],"y": MORTGAGE30US['value'],"mode": "lines","name": '30 YR', 'line': {'color': 'linear-gradient(90deg, red, red 60%, white)' }},
{ "x": MORTGAGE15US['date'],"y": MORTGAGE15US['value'],"mode": "lines","name": '15 YR',},
],
'layout': {
'title': 'MORTGAGE RATES',
"paper_bgcolor": "rgb(46, 54, 65)",
"plot_bgcolor": "rgb(46, 54, 65)",
'font': {
'color': "rgb(255,255,255)"
}
}
}
)
Run Code Online (Sandbox Code Playgroud) 有没有办法将pandas.get_dummies数字表示形式输出在一列中,而不是每个选项的单独列中?
具体来说,目前使用pandas.get_dummies它时,每个选项都会为我提供一列:
| 尺寸 | 尺寸_大 | 尺码_中号 | 尺寸_小 |
|---|---|---|---|
| 大的 | 1 | 0 | 0 |
| 中等的 | 0 | 1 | 0 |
| 小的 | 0 | 0 | 1 |
但我正在寻找更多以下输出:
| 尺寸 | 尺寸_数值 |
|---|---|
| 大的 | 1 |
| 中等的 | 2 |
| 小的 | 3 |
在Python领域:
除了组织代码/设计模式之外,类还能做什么函数不能做的事情?
从技术上讲,人们不能通过函数编写任何类吗?并不是说它会更高效或更具可读性,而是就纯粹的功能而言。
换句话说,有人可以选择任何类并仅使用函数重写它吗?
如何将表中列数据类型的 varchar 数据类型更改为 DATE?
尝试了以下方法:
ALTER TABLE table.name.here MODIFY COLUMN insert_dt DATE;
Run Code Online (Sandbox Code Playgroud)
我刚刚得到
SQL compilation error: cannot change column INSERT_DT from type VARCHAR(16777216) to DATE
python ×6
pandas ×3
snowflake-cloud-data-platform ×3
excel ×1
javascript ×1
nested-loops ×1
plotly ×1
plotly-dash ×1
scikit-learn ×1
sql ×1
xlsxwriter ×1