我有一个查询,我想获得不同的日期,与这些日期相关的电话号码,以及每个日期的电话号码计数.
例如,我有一个包含日期和电话号码的数据库,我想要结果
9/2005 5554446666 3
9/2005 4445556666 1
10/2005 1112223333 1
11/2005 2223334444 2
Run Code Online (Sandbox Code Playgroud)
我可以通过此查询获取日期和计数:
SELECT DISTINCT date, count(phone) AS count
FROM calls
GROUP BY date
Run Code Online (Sandbox Code Playgroud)
我似乎无法得到的是"计数"正在计算的电话号码.我想我需要某种聚合函数来获取唯一值列表的单个实例,但First()和其他一些只抛出SQL错误.我需要子查询吗?
另一个熊猫问题.
阅读Wes Mckinney关于数据分析和熊猫的优秀书籍,我遇到了以下我认为应该起作用的事情:
假设我有一些关于提示的信息.
In [119]:
tips.head()
Out[119]:
total_bill tip sex smoker day time size tip_pct
0 16.99 1.01 Female False Sun Dinner 2 0.059447
1 10.34 1.66 Male False Sun Dinner 3 0.160542
2 21.01 3.50 Male False Sun Dinner 3 0.166587
3 23.68 3.31 Male False Sun Dinner 2 0.139780
4 24.59 3.61 Female False Sun Dinner 4 0.146808
Run Code Online (Sandbox Code Playgroud)
我想知道与总账单有关的五大提示,即分别tip_pct针对吸烟者和非吸烟者.这样可行:
def top(df, n=5, column='tip_pct'):
return df.sort_index(by=column)[-n:]
In [101]:
tips.groupby('smoker').apply(top)
Out[101]:
total_bill tip sex smoker day time …Run Code Online (Sandbox Code Playgroud) 我还没有理解聚合函数:
例如,拥有:
val x = List(1,2,3,4,5,6)
val y = x.par.aggregate((0, 0))((x, y) => (x._1 + y, x._2 + 1), (x,y) => (x._1 + y._1, x._2 + y._2))
Run Code Online (Sandbox Code Playgroud)
结果将是: (21,6)
好吧,我认为这(x,y) => (x._1 + y._1, x._2 + y._2)是为了并行获得结果,例如它将是(1 + 2,1 + 1),依此类推.
但正是这一部分让我感到困惑:
(x, y) => (x._1 + y, x._2 + 1)
Run Code Online (Sandbox Code Playgroud)
为什么x._1 + y?这x._2是0?
提前致谢.
我对c ++ 20功能之一(指定的初始化程序)有疑问(有关此功能的更多信息,请点击此处)
#include <iostream>
constexpr unsigned DEFAULT_SALARY {10000};
struct Person
{
std::string name{};
std::string surname{};
unsigned age{};
};
struct Employee : Person
{
unsigned salary{DEFAULT_SALARY};
};
int main()
{
std::cout << std::boolalpha << std::is_aggregate_v<Person> << '\n'; // true is printed
std::cout << std::boolalpha << std::is_aggregate_v<Employee> << '\n'; // true is printed
Person p{.name{"John"}, .surname{"Wick"}, .age{40}}; // it's ok
Employee e1{.name{"John"}, .surname{"Wick"}, .age{40}, .salary{50000}}; // doesn't compile, WHY ?
// For e2 compiler prints a warning "missing initializer …Run Code Online (Sandbox Code Playgroud) 让我说我有这个截肢Person课:
class Person
{
public int Age { get; set; }
public string Country { get; set; }
public int SOReputation { get; set; }
public TimeSpan TimeSpentOnSO { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
然后,我可以分组Age并Country喜欢这样:
var groups = aListOfPeople.GroupBy(x => new { x.Country, x.Age });
Run Code Online (Sandbox Code Playgroud)
然后我可以输出所有组的声誉总数如下:
foreach(var g in groups)
Console.WriteLine("{0}, {1}:{2}",
g.Key.Country,
g.Key.Age,
g.Sum(x => x.SOReputation));
Run Code Online (Sandbox Code Playgroud)
我的问题是,我怎样才能得到一笔TimeSpentOnSO房产?该Sum方法在这种情况下不起作用,因为它仅用于int此类.我以为我可以使用该Aggregate方法,但只是认真无法弄清楚如何使用它...我正在尝试各种组合的各种属性和类型,但编译器只是不会识别它.
foreach(var g in groups)
Console.WriteLine("{0}, {1}:{2}",
g.Key.Country,
g.Key.Age, …Run Code Online (Sandbox Code Playgroud) 我在SQL Server中有一个如下所示的日志表:
CREATE TABLE [dbo].[RefundProcessLog](
[LogId] [bigint] IDENTITY(1,1) NOT NULL,
[LogDate] [datetime] NOT NULL,
[LogType] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[RefundId] [int] NULL,
[RefundTypeId] [smallint] NULL,
[LogMessage] [varchar](1000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[LoggedBy] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
CONSTRAINT [PK_RefundProcessLog] PRIMARY KEY CLUSTERED
(
[LogId] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
我想要的是一个结果列表,表示每天处理多少不同的退款,抛出任何NULL.
我需要编写什么SQL来生成这些结果?
所以我试图计算零件数量,任务数量,每个工作的数量以及制造每项工作所花费的时间,但我得到了一些时髦的结果.如果我运行这个:
SELECT
j.id,
mf.special_instructions,
count(distinct p.id) as number_of_different_parts,
count(distinct t.id) as number_of_tasks,
SUM(distinct j.quantity) as number_of_assemblies,
SUM(l.time_elapsed) as time_elapsed
FROM
sugarcrm2.mf_job mf
INNER JOIN ramses.jobs j on
mf.id = j.mf_job_id
INNER JOIN ramses.parts p on
j.id = p.job_id
INNER JOIN ramses.tasks t on
p.id = t.part_id
INNER JOIN ramses.batch_log l on
t.batch_id = l.batch_id
WHERE
mf.job_description LIKE "%BACKBLAZE%" OR
mf.customer_name LIKE "%BACKBLAZE%" OR
mf.customer_ref LIKE "%BACKBLAZE%" OR
mf.technical_company_name LIKE "%BACKBLAZE%" OR
mf.description LIKE "%BACKBLAZE%" OR
mf.name LIKE "%BACKBLAZE%" OR
mf.enclosure_style …Run Code Online (Sandbox Code Playgroud) 如何将键值对的字典转换为单个字符串?你能用LINQ聚合做到这一点吗?我已经看到使用字符串列表执行此操作的示例,但不是字典.
输入:
Dictionary<string, string> map = new Dictionary<string, string> {
{"A", "Alpha"},
{"B", "Beta"},
{"G", "Gamma"}
};
Run Code Online (Sandbox Code Playgroud)
输出:
string result = "A:Alpha, B:Beta, G:Gamma";
Run Code Online (Sandbox Code Playgroud) 我有一个包含大约200列的数据框,其中我想要将表格分组前10个左右,这些是因子并将其余列相加.
我有我要分组的所有列名列表以及我想要聚合的所有列的列表.
我正在寻找的输出格式需要是相同数量的cols的相同数据帧,只是组合在一起.
有没有使用包解决方案data.table,plyr或任何其他?
什么时候应该使用ActiveRecord的composed_of类方法?