我有一个看起来像这样的表:
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) 我有两张桌子.一个表是具有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
是非银行工作日它不会在日历表中找到匹配...
我正在构建一封嵌入图像 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) 我想创建一个像这样的列:
create table dbo.t1
(
[Notification_Month] datepart(mm, [date]) null,
)
Run Code Online (Sandbox Code Playgroud)
我想将月份存储为日期属性而不存储日期的其他部分.这是我所知道的一个奇怪的问题,但这个表正在被WPF应用程序使用,因此如果SQL Server允许这样做会更容易限制日期条目,但如果不是,我可能会找到一个使用c#的长而复杂的解决方案.
我有一些其他的解决方法,如果这是不可能的,但在我说它不是之前想过,总是最好用堆栈检查.
我有一个数据框 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) 我有一个如下所示的数据框 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% 客户的数据框。
我有一个混合了列数据类型、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)
每当我尝试将其放入循环语句时,我都会遇到有关将字符串与整数进行比较的错误。
我只想扫描每行的每一列,如果我检测到一个数字,并且它是负数,则删除整行。我觉得我做得太难了。
我有一个字典,它是具有所有相同列和数据结构的数据帧的列表。我想本质上再次将所有这些“统一”到一个数据帧中,在该数据帧中,字典键将转换为另一列: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 ×5
pandas ×4
dataframe ×3
sql-server ×3
c# ×2
calendar ×1
count ×1
create-table ×1
date ×1
datepart ×1
group-by ×1
html-email ×1
mime ×1
sql ×1