小编use*_*773的帖子

SQL Server:条件聚合;

我有一个看起来像这样的表:

  Year       Value
  -----------------
  2013      -0.0016
  2014      -0.0001
  2015       0.0025
  2016      -0.0003
  2017       0.0023
  2018       0.0002
Run Code Online (Sandbox Code Playgroud)

我需要执行一个条件聚合,从而产生一个新列.条件如下:

如果值为负,则聚合开始并且在值为正之前不会停止.然后没有什么,直到值再次为负...结果将如下所示:

  Year       Value        AggCol
  2013      -0.0016      -0.0016
  2014      -0.0001      -0.0017
  2015       0.0025       0.0008
  2016      -0.0003      -0.0003
  2017       0.0023       0.002
  2018       0.0002       0.0002
Run Code Online (Sandbox Code Playgroud)

这个udf和我一样接近:

create function dbo.fn(@cYear numeric, @rate float)
returns float
as 
begin
    declare @pYear numeric
    declare @return float

    set @pYear = @cYear - 1

    set @return = (select 
                        case 
                            when Value < 0 and @rate > 0  then null 
                            when Value < …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server sql-server-2012

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

如何使用日历引用表计算SQL Server中给定日期的工作日

我有两张桌子.一个表是具有date列和kindofday列的日历.该kindofday栏目包含'bankday','saturday','sunday'和'holiday'.我需要考虑假期,否则网上有几个查询可以工作......

        date                          kindofday
1999-08-24 00:00:00:000                bankday
Run Code Online (Sandbox Code Playgroud)

我正在努力构建一个可以计算给定日期的工作日数的查询.就像是:

Select [date] + 12 business days.我不知道如何使用Calendar表作为参考 - 基本上我需要在这个日历表中找到一个日期,然后在一些工作日倒计时并提取该日期.我将把它放在一个函数中,所以不用担心复杂性.我可能没有看到一个愚蠢的简单解决方案.

即使他们不使用我的日历表,我也会接受任何考虑假期的解决方案.我可以改变日历表但是我需要为了使这项工作...即:使用binary而不是string'bankday'等...

我试过这个:我已经从日历中删除了所有非银行工作日并添加了一个integer密钥,然后set @date = (select key from calendar where @date=[date]然后将该工作日的数量添加到该密钥并返回日期,但问题是何时@date是非银行工作日它不会在日历表中找到匹配...

sql-server calendar date count

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

如何通过Python 3.5将base64图像嵌入到HTML电子邮件中?

我正在构建一封嵌入图像 base64 的电子邮件,这样当我的同事打开它时它可以正确显示。我不太确定如何从文件中到达那里以及我现在拥有的内容。

这运行得很好,但我无法成功嵌入图像。我需要嵌入 image1.jpg。

import smtplib

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage


# me == my email address
# you == recipient's email address
me = "me@.com"
you = "you@.com"

# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = "Sent using Python :) "
msg['From'] = me
msg['To'] = you



# Create the body of the message (a plain-text and an HTML version).
text = "This …
Run Code Online (Sandbox Code Playgroud)

python mime html-email

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

Microsoft SQL Server中是否可以创建一个datepart列?

我想创建一个像这样的列:

create table dbo.t1
(
    [Notification_Month] datepart(mm, [date]) null,
)
Run Code Online (Sandbox Code Playgroud)

我想将月份存储为日期属性而不存储日期的其他部分.这是我所知道的一个奇怪的问题,但这个表正在被WPF应用程序使用,因此如果SQL Server允许这样做会更容易限制日期条目,但如果不是,我可能会找到一个使用c#的长而复杂的解决方案.

我有一些其他的解决方法,如果这是不可能的,但在我说它不是之前想过,总是最好用堆栈检查.

c# sql-server create-table datepart

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

如何对 pandas 数据框中的两列进行字符串比较?

我有一个数据框 df ,如下所示:

        a      b
  0     Jon     Jon
  1     Jon     John
  2     Jon     Johnny
Run Code Online (Sandbox Code Playgroud)

我想比较这两个字符串并创建一个新列,如下所示:

  df['compare'] = df2['a'] = df2['b']


        a      b          compare
  0     Jon     Jon         True
  1     Jon     John        False
  2     Jon     Johnny      False
Run Code Online (Sandbox Code Playgroud)

我还希望能够通过此 levenshtein 函数传递 a 列和 b 列:

def levenshtein_distance(a, b):
    """Return the Levenshtein edit distance between two strings *a* and *b*."""
    if a == b:
        return 0
    if len(a) < len(b):
        a, b = b, a
    if not a:
        return len(b)
    previous_row = range(len(b) + …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何通过分组返回 Pandas DataFrame 的前 N%?

我有一个如下所示的数据框 df:

Customer   Revenue  Products  Cluster
Jon         100         5        A
Janet       225         12       C
Jim         75          2        B
Stacy       95          4        A
John        125         5        B
Bob         325         20       C
Megan       75          2        A
Stacy       95          4        A
Run Code Online (Sandbox Code Playgroud)

等等 100k 记录。

我正在尝试返回按集群分组的收入客户的前 2%。我知道这行不通,但我认为它给出了我正在尝试做的事情的总体思路:

df.groupby('cluster').len(df['cluster'])/100 <= .2
Run Code Online (Sandbox Code Playgroud)

试图按收入、按集群取回前 2% 客户的数据框。

python group-by dataframe pandas pandas-groupby

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

如何删除带有负值的熊猫数据框中的所有行?

我有一个混合了列数据类型、float64 和对象的数据框。

我需要动态删除所有具有负值的行。这是我到目前为止所拥有的:

 df = df[(df > 0).all(axis=1)]
Run Code Online (Sandbox Code Playgroud)

但是因为一些列不是数字,它基本上擦除了整个 df。

我如何构建它以仅考虑数字列?有太多的列需要手动为每一列做这样的事情,但如果我必须 1 到 1,这确实有效:

df = df.drop(df[df['col1'] < 0].index, inplace=True)
Run Code Online (Sandbox Code Playgroud)

每当我尝试将其放入循环语句时,我都会遇到有关将字符串与整数进行比较的错误。

我只想扫描每行的每一列,如果我检测到一个数字,并且它是负数,则删除整行。我觉得我做得太难了。

python dataframe pandas

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

如何从数据框字典创建Pandas DataFrame?

我有一个字典,它是具有所有相同列和数据结构的数据帧的列表。我想本质上再次将所有这些“统一”到一个数据帧中,在该数据帧中,字典键将转换为另一列:df_list {}

{'A' : col1 col2 col3 \
001    val1  val2  val3
002    val3  val4  val5

'B' : col1 col2 col3 \
001    val1  val2  val3
002    val3  val4  val5
Run Code Online (Sandbox Code Playgroud)

...等等

但想要:

key  Col1  Col2  Col3
A    val1  val2  val3
A    val4  val5  val6
B    val1  val2  val3
B    val4  val5  val6
Run Code Online (Sandbox Code Playgroud)

我尝试使用pd.DataFrame.from_dict(),但是我没有正确使用它,或者我需要其他东西。

final_df = pd.DataFrame.from_dict(df_list)
Run Code Online (Sandbox Code Playgroud)

但得到:ValueError:如果使用所有标量值,则必须传递索引

当我尝试传递索引时,相对于数据框,我会返回一列。

python dataframe pandas

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