我有第1列和第2列,想将它们合并到同一个表的第3列中。如果第2列为空,则显示第1列的值,如果第1列为空,则显示第2列的数据。如果两者都为null,则显示null。我尝试了两件事:1)使用CONCATSELECTCONCAT(Column1,Column2)ASColumn3FROMTEST_ATTRIBUTES。只有当它们都不为空时,它才会合并列。否则它只是prinsnull。2)使用(第1列+第2列)。SELECT(Column1+Column2)ASColumn3FROMTEST_ATTRIBUTES。没有显示所需的输出。我正在用java编写这段代码。谢谢
我有两列,quarter_number和quarter_year。quarter_number列存储1到4之间的值,而quarter_year存储年份值。我希望数据像这样排序:ex:(quarter_number-quarter_year)4-20153-20152-20151-20154-20143-2014etc...因此看起来这个声明是可行的:$last_figures=QuarterData::where('company_id','=',$company->id)->orderBy('quarter_number')->orderBy('quarter_year')->get
假设我有一个表格,其中包含一本书的所有章节以及每章的起始页/结束页。chapter|start_page|end_page--------------------------------------1|1|242|25|673|68|1234|124|2445|245|323我试图找出随机页面所在的章节,例如第215页。我的第一个想法是使用这样的查询SELECT`chapter`FROM`book`WHERE`start_page`=215不幸的是,由于我的表很大,MySQL无法利用上述查询中的索引,这是一个大问题。经过一些研究后,我想出了这个确实利用了索引的查询。SELECT`cha
你能帮我加入两个DataFrame吗?我有两个DataFrame。df1:indexval1val2--------------------1str1abc12str2abc23str3abc34str4abc95str5abc4df2:indexval2------------1abc12abc24abc35abc49abc5我需要基于前两个创建一个DataFrame,并通过两列进行左连接。列index和val2在两个DataFrame中具有相同的名称。df3的结果应该是这样的:indexval1val2val3----------------------------1str1abc
我想比较两个系列的字符串,看看一个是否包含另一个元素。我首先尝试使用apply,但它很慢:cols=['s1','s2']list_of_series=[pd.Series(['one','sdf'],index=cols),pd.Series(['two','xytwo'],index=cols)]df=pd.DataFrame(list_of_series,columns=cols)dfs1s20onesdf1twoxytwodf.apply(lambdarow:row['s1']inrow['s2'],axis=1)0False1Truedtype:bool它似乎适用于以下代码:
我有以下数据框:data=pd.DataFrame({'user_id':['a1','a1','a1','a2','a2','a2','a3','a3','a3'],'product_id':['p1','p1','p2','p1','p1','p1','p2','p2','p3']})product_iduser_idp1a1p1a1p2a1p1a2p1a2p1a2p2a3p2a3p3a3在实际情况下可能还有其他一些列,但我需要做的是按数据框按product_id和user_id列分组并计算每个组合的数量并将其添加为新数据框中的新列输出应该是这样的:user_idproduct_i
我有一个这样分组的数据框;pricequantityvatdatebrand20-Jun-13Reebok7.082.2Adidas12.033.8Campus2.5384.2Woodlands23.097.2Boot3.2353.321-Jun-13Reebok7.062.2Adidas12.0233.8Campus2.5184.2Woodlands23.0297.2Boot3.2153.322-Jun-13Reebok5.023.5Adidas10.052.8Campus2.0503.5Woodlands25.046.5Boot2.5102.8我如何将'date'和'brand'分
我正在尝试构建一个新列,如果它是列“type”的元素第一次具有列“xx”的特定值,则该列的值为1,并在中给出0的值任何其他情况。我正在使用的原始数据框(df)是:idx=[np.array(['Jan-18','Jan-18','Feb-18','Mar-18','Mar-18','Mar-18','Apr-18','Apr-18','May-18','Jun-18','Jun-18','Jun-18','Jul-18','Aug-18','Aug-18','Sep-18','Sep-18','Oct-18','Oct-18','Oct-18','Nov-18','Dec-18','D
我在表T中有两个整数字段A和B。我想做类似“SELECT*FROMTORDERBYf(A,B)DESC”其中f(A,B)是A和B的线性组合...即f(A,B)=mA+nB,其中m和n是数字。什么是正确的语法? 最佳答案 您有两个选择(至少):SELECT(n*A+m*B)ASC,*FROMTORDERBYCDESC;--orORDERBY1DESC或者:SELECT*FROMTORDERBY(n*A+m*B)DESC;一个或另一个-可能两者-应该在MySQL中为您工作。第一个应该工作,即使第二个不工作。
我有以下形式的数据框:indexName_AName_B0AdamBen1ChrisDavid2AdamChris3BenChris我想获取Name_A和Name_B的邻接矩阵,即:AdamBenChrisDavidAdam0110Ben0010Chris0001David0000解决这个问题的最pythonic/可扩展的方法是什么?编辑:另外,我知道如果Adam,Ben行在数据集中,那么在其他某个点,Ben,Adam也将在数据集中。 最佳答案 您可以使用crosstab然后reindex通过union列和索引值:df=pd.cro