小编Ket*_*ten的帖子

SQL:如何按某些列的值“拆分”表中的行?

我有一个表,其中的行如下:

姓名 日期_从 日期到 年龄
爱丽丝 2004年12月1日 2008年4月3日 35
鲍勃 2013年2月4日 2014年11月4日 43

我想制作一个表,将每一行按 date_fromdate_to列分成一年间隔,保留Name和 更新age,如下所示:

姓名 日期_从 日期到 年龄
爱丽丝 2004年12月1日 2005年12月1日 35
爱丽丝 2005年12月1日 2006年12月1日 36
爱丽丝 2006年12月1日 2007年12月1日 37
爱丽丝 2007年12月1日 2008年12月1日 38
爱丽丝 2008年12月1日 2008年4月3日 39
鲍勃 2013年2月4日 2014年2月4日 43
鲍勃 2014年2月4日 2014年11月4日 44

这可以用 SQL 实现吗?

sql t-sql database sql-server select

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

熊猫中的按行最大/最小

我想做这样的事情:

df['A'] = max(0, min(df.B, df.C - df.D))
Run Code Online (Sandbox Code Playgroud)

但是,我得到一个ValueError(“系列的真值不明确”),我猜这意味着 和max函数min正在幕后执行一些布尔运算,并且这不会分布在系列上。我知道您可以通过例如获得某些列集的最小/最大

df[['col1','col2','col3']].max(axis = 1)
Run Code Online (Sandbox Code Playgroud)

因此我应该能够通过创建一些具有中间值的临时列来获得我想要的输出,但我想要一个直接执行此操作的干净解决方案。如何在无需为一次性中间值创建额外列的情况下做到这一点?

python pandas

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

标签 统计

database ×1

pandas ×1

python ×1

select ×1

sql ×1

sql-server ×1

t-sql ×1