小编Kei*_*thx的帖子

创建一个包含带有静态信息的列的视图

我正在创建一个这样的视图

CREATE VIEW TEST  AS 
    (
    SELECT a.ID, a.E_ID, b.CAT1 AS C1, c.CAT1 AS C2
    FROM RECP a
    JOIN ART  b on (a.ID=b.SKU)
    JOIN ART  c on (E_ID=c.SKU)
    )
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我需要添加两个带有静态信息的附加列(add1、add2)。每行都是相等的。

例如,

ID E_ID  C1  C2  add1 add2
1   10   a   c   NL   RS
2   20   b   b   NL   RS
3   30   c   a   NL   RS
4   40   d   d   NL   RS
Run Code Online (Sandbox Code Playgroud)

它不包含在其他表中并且每行都相等。如何将这些列 add1 和 add2 添加到视图中?

sql oracle view oracle-sqldeveloper

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

某些列的熊猫平均值

我有一个这样的熊猫数据框:

在此处输入图片说明

如果 Cluster==1 或 CLuster==2,我如何能够计算特定列的平均值(最小值/最大值、中位数)?

谢谢!

python numpy pandas

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

使用WHERE子句的JOIN的熊猫模拟

我正在python的pandas中加入两个数据帧(A和B).

目标是从B接收所有纯行(在A.client_id = B.client_id上的sql analogue- right join B,其中A.client_id为null)

在大熊猫中我所知道的这个操作是合并但我不知道如何设置条件(where子句):

x=pd.merge(A,B,how='right',on=['client_id','client_id']
Run Code Online (Sandbox Code Playgroud)

谢谢!

python sql pandas

4
推荐指数
2
解决办法
4426
查看次数

Pandas to_datetime() 函数性能问题

有一个这样的 df:

Dat
10/01/2016
11/01/2014
12/02/2013
Run Code Online (Sandbox Code Playgroud)

“Dat”列具有对象类型,因此我尝试使用 to_datetime () pandas 函数将其切换为日期时间:

to_datetime_rand = partial(pd.to_datetime, format='%m/%d/%Y')
df['DAT'] =   df['DAT'].apply(to_datetime_rand)
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当我的 df 高于 20 亿行时,我遇到了性能问题。所以在这种情况下,这种方法会卡住并且效果不佳。

pandas to_datetime() 函数是否能够通过 chuncks 或通过循环进行迭代转换。

谢谢。

python pandas

4
推荐指数
2
解决办法
1021
查看次数

Python 中单词组合的向量化

我有一个包含医学文本数据的数据集,我对它们应用 tf-idf 矢量器并计算单词的 tf idf 分数,如下所示:

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer as tf

vect = tf(min_df=60,stop_words='english')

dtm = vect.fit_transform(df) 
l=vect.get_feature_names() 

x=pd.DataFrame(dtm.toarray(), columns=vect.get_feature_names())
Run Code Online (Sandbox Code Playgroud)

所以基本上我的问题如下 - 当我应用 TfidfVectorizer 时,它会将文本分割成不同的单词,例如:“疼痛”、“头痛”、“恶心”等。如何获得 TfidfVectorizer 输出中的单词组合,例如:“剧烈疼痛”、“丛集性头痛”、“恶心呕吐”。谢谢

python nlp tf-idf scikit-learn countvectorizer

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

在 Python 中使用 NLTK 方法进行释义

尝试使用 NLTK 中的标记化进行简单的释义。

执行以下功能:

from nltk.tokenize import word_tokenize
from nltk.tag import pos_tag
from nltk.corpus import wordnet as wn

def tag(sentence):
 words = word_tokenize(sentence)
 words = pos_tag(words)
 return words

def paraphraseable(tag):
 return tag.startswith('NN') or tag == 'VB' or tag.startswith('JJ')

def pos(tag):
 if tag.startswith('NN'):
  return wn.NOUN
 elif tag.startswith('V'):
  return wn.VERB

def synonyms(word, tag):
 return set([lemma.name for lemma in sum([ss.lemmas for ss in    wn.synsets(word, pos(tag))],[])])

def synonymIfExists(sentence):
 for (word, t) in tag(sentence):
   if paraphraseable(t):
    syns = synonyms(word, t)
    if syns:
     if len(syns) > …
Run Code Online (Sandbox Code Playgroud)

python nltk

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

按照熊猫的Where条件进行分组

有这样的数据帧:在此输入图像描述

我创建了列'dif_pause',基于减去'pause_end'和'pause_start'列值并使用groupby()函数进行均值聚合,如下所示:

pauses['dif_pause'] = pauses['pause_end'] - pauses['pause_start']
pauses['dif_pause'].astype(dt.timedelta).map(lambda x: np.nan if pd.isnull(x) else x.days)

pauses_df=pauses.groupby(["subscription_id"])["dif_pause"].mean().reset_index(name="avg_pause")
Run Code Online (Sandbox Code Playgroud)

我想在groupby部分中包含检查pause_end> pause_start(SQL中是否有一些WHERE子句等).怎么能这样做?

谢谢.

python where-clause pandas pandas-groupby

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

pymsql 和熊猫

有一个问题。如何将 sql 查询中的列名添加到 Pandas 数据框。我正在做下一步,但 columns=columns 在我的情况下不起作用。

import pymssql
import pandas as pd


con = pymssql.connect(
     server="MSSQLSERVER",
     port="1433",
     user="us",
     password="pass",
     database="loc")

cur = conn.cursor()

cur.execute("SELECT id from ide")

data=cur.fetchall()

pandas=pd.DataFrame(data)

cur.close()
con.close()
Run Code Online (Sandbox Code Playgroud)

所以当我打印“pandas”时,结果是没有标题。那么我怎样才能收到它们呢?

python sql pymssql pandas

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

计算矩阵行之间的余弦距离

我正在尝试计算矩阵中行之间的python中的余弦距离并且有几个问题.所以我正在创建矩阵matr并从列表中填充它,然后将其重新整形以用于分析目的:

s = []

for i in range(len(a)):
    for j in range(len(b_list)):
        s.append(a[i].count(b_list[j]))

matr = np.array(s) 
d = matr.reshape((22, 254)) 
Run Code Online (Sandbox Code Playgroud)

d的输出给了我像:

array([[0, 0, 0, ..., 0, 0, 0],
       [2, 0, 0, ..., 1, 0, 0],
       [2, 0, 0, ..., 0, 0, 0],
       ..., 
       [0, 0, 0, ..., 0, 0, 0],
       [0, 0, 0, ..., 0, 0, 0],
       [1, 0, 0, ..., 0, 0, 0]])
Run Code Online (Sandbox Code Playgroud)

然后我想使用scipy.spatial.distance.cosine包来计算从第一行到d矩阵中的其他所有的余弦.我该怎么做?它应该是一些循环吗?对矩阵和数组操作没有太多经验.

那么我怎样才能在第二个参数(d [1],d [2]等)中使用for循环,而不是每次都启动它:

from scipy.spatial.distance import cosine
x=cosine (d[0], d[6])
Run Code Online (Sandbox Code Playgroud)

python trigonometry numpy matrix scipy

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

在Pandas中获取具有最大值的行

有这样的df:

在此输入图像描述

我想要一个只包含最大日期行的数据框.怎么做?

谢谢!

python pandas

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