我有一个sqlite表.我想要获得每组的第一行.虽然之前有过同样的问题.我在sqlite中找不到解决方案.
我的表看起来像这样:
select * from geoview
MaxOfStatecountpercent | statepoolnumber | STATECODE
123 1234 CA
123 1234 FL
234 1678 TX
234 1678 MN
234 0987 FL
234 0987 CA
234 9876 TX
Run Code Online (Sandbox Code Playgroud)
我想从每个statepoolnumber查询MaxOfStatecountpercent的第一个和第一个STATECODE.等效的访问sql查询是:
select first(MaxOfStatecountpercent), statepoolnumber, first(STATECODE) from geoview group by statepoolnumber;
Run Code Online (Sandbox Code Playgroud)
预计产量为:
First(MaxOfStatecountpercent) | statepoolnumber | First(STATECODE)
123 1234 CA
234 1678 TX
234 0987 FL
234 9876 TX
Run Code Online (Sandbox Code Playgroud)
我试过"限制1"但没有奏效.如何在sqlite中获得等效的查询?
我试图将SQL查询转换为python.sql语句如下:
select * from table 1
union
select * from table 2
union
select * from table 3
union
select * from table 4
Run Code Online (Sandbox Code Playgroud)
现在我有4个数据帧中的那些表,df1, df2, df3, df4
我想结合4个pandas数据帧,它将匹配结果与sql查询相同.我很困惑使用哪种操作相当于sql union?提前致谢!!
注意:所有数据帧的列名都相同.
我有一个大约有20列的数据框,我试图通过仅选择一些特定的列来获取数据帧的子集.我的代码行是:
df3_query = df3[['Cont NUMBER'],['PL NUMBER'],['NAME'],['LOAN COUNT'],['SCORE MINIMUM'],['COUNT PERCENT']]
Run Code Online (Sandbox Code Playgroud)
我收到错误了
TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)
我可以知道为什么会出现此错误的原因吗?另外,我想只选择df3数据帧中的那些列.谁可以帮我这个事?
我有一个名为pricecomp_df的数据框,我想比较"市场价格"列和其他每一列的价格,如"苹果价格","芒果价格","西瓜价格",但根据条件优先考虑差异:(首先是西瓜价格,第二是芒果,第三是苹果).输入数据框如下:
code apple price mangoes price watermelon price market price
0 101 101 NaN NaN 122
1 102 123 123 NaN 124
2 103 NaN NaN NaN 123
3 105 123 167 NaN 154
4 107 165 NaN 177 176
5 110 123 NaN NaN 123
Run Code Online (Sandbox Code Playgroud)
所以这里第一排只有苹果价格和市场价格然后采取他们的差异,但在第二排,我们有苹果,芒果价格所以我只需要采取市场价格和芒果价格之间的差异.同样根据优先条件采取差异.对于所有三种价格,也跳过带有nan的行.任何人都可以帮忙吗?
我有 4 个名为df1
, df2
, 的数据框df3
,df4
其中有一列Date
。该列由不同格式的日期组成。df1
具有类型为 int64 的df2
日期列,具有类型为对象的df3
日期列,具有类型为对象的日期列,具有类型为对象的df4
日期列。以下是数据框及其数据。
df1:
Date
0 20160301
1 20160301
2 20160301
3 20160301
df2:
Date
0 01/03/2016
1 01/03/2016
2 01/03/2016
df3:
Date
0 31-Mar-16
1 31-Mar-16
2 31-Mar-16
df4:
Date
0 25/02/2016
1 25/02/2016
2 25/02/2016
Run Code Online (Sandbox Code Playgroud)
我想以mm/dd/yyyy
type的形式转换这些日期date
。谁可以帮我这个事?
我有一个2列的数据框,
count percent grpno.
0 14.78 1
1 0.00 2
2 8.80 3
3 9.60 4
4 55.90 4
5 0.00 2
6 0.00 6
7 0.00 5
8 6.90 1
9 59.00 4
Run Code Online (Sandbox Code Playgroud)
我需要获取列“ count percent”的最大值,并按列“ grpno”进行分组。虽然我尝试通过
geostat.groupby(['grpno.'], sort=False)['count percent'].max()
Run Code Online (Sandbox Code Playgroud)
我得到的输出是
grpno.
1 14.78
2 0.00
3 8.80
4 59.00
6 0.00
5 0.00
Name: count percent, dtype: float64
Run Code Online (Sandbox Code Playgroud)
但是我需要将输出的数据列的列名修改为“ MaxOfcount percent”和“ grpno”。有人可以帮忙吗?谢谢