我有这样一个简单的数据框架:
df = pd.DataFrame({'class':['a','b','c','d','e'],
'name':['Adi','leon','adi','leo','andy'],
'age':['9','8','9','9','8'],
'score':['40','90','35','95','85']})
结果是这样的
class name age score
a Adi 9 40
b leon 8 90
a adi 9 35
d leo 9 95
e andy 8 85
当他只有一个人,而且分数是75分,而不是40分和35分时,我如何将名为“Adi”的行与“Adi”的行组合在同一列中
删除重复项()
是使用熊猫的最佳方式
df['name'] = df['name'].str.lower()
df['score'] = df['score'].astype(int)
df['score'] = df['score'].groupby(df['name']).transform(sum)
df.drop_duplicates(subset='name',keep='first',inplace=True)
输出:
class name age score
0 a adi 9 75
1 b leon 8 90
3 d leo 9 95
4 e andy 8 85
如果设置keep='last'
,您将获得此输出:
class name age score
1 b leon 8 90
2 c adi 9 75
3 d leo 9 95
4 e andy 8 85
你可以使用熊猫。数据帧 groupby和熊猫。数据帧 在第一次将
:名称
列小写后聚合
import pandas as pd
df = pd.DataFrame({
'class': ['a', 'b', 'c', 'd', 'e'],
'name': ['Adi', 'leon', 'adi', 'leo', 'andy'],
'age': ['9', '8', '9', '9', '8'],
'score': ['40', '90', '35', '95', '85']
})
df['name'] = df['name'].str.lower()
df['score'] = df['score'].astype(int)
aggregate_funcs = {
'class': lambda s: ', '.join(set(s)),
'age': lambda s: ', '.join(set(s)),
'score': sum
}
df = df.groupby(df['name']).aggregate(aggregate_funcs)
print(df)
输出:
class age score
name
adi c, a 9 75
andy e 8 85
leo d 9 95
leon b 8 90
如果我将这两个表连接起来,并执行如下操作,我可以concat但不是基于表r(因为新列的第一行是1,但第二行应该只有2) 我必须在上面的查询中的select之前应用filter,但我不确定如何在withColumn中为每一行执行此操作。 下面的东西,如果可能的话。
问题内容: 我的MySQL数据库中有这些表: 通用表: Facebook表: 首席表: 基本上,常规表包含一些( 显然 )常规数据。基于generalTable.scenario,您可以在其他两个表中查找更多详细信息,这些表在某些熟悉的列中(例如,expiresAt),而在其他一些列中则不然。 我的问题是,如何仅通过一个查询就可以获取generalTable和正确的明细表的联接数据。 所以,我想这
我得到了一个表从SELECT查询1如下从SQL服务器: 我从SQL Server的SELECT query 2中获得了一个表,如下所示: 我想将这些SELECT查询加入到一个SELECT查询中,如下所示: 我试着这样: 但它不起作用,这不是我想要加入的实际表。 基本上,我想连接两个具有相同列名但它们之间没有公共值的SELECT查询。我想使用连接表中的SELECT查询。 提前谢谢你。
我正在运行以下JOOQ查询: table和joinTable都有id作为主键名称,但最终获取实体类包含joinTable的id和table的其余列。如果我重新排序表,结果相似,我有表的ID和joinTable的其余列。
问题内容: 我有以下代码: 我希望两条execute()行可以重用同一连接。但是,日志输出显示: 上面的例子运行得很快,但是我有一段更大的代码,基本上做同样的事情,并且挂了很久。我从来没有收到错误,但是它使代码运行非常缓慢。我可以以某种方式重构以上代码以仅使用相同的连接吗? 谢谢 问题答案: 这是使用Apache DBCP的示例: log4j输出为:-
问题内容: 我有两个表,它们共享相似的列名。 查询是: 结果放入一个数组中: 一旦我添加了第二张表,我注意到该表正在使用tableb的数据。 问题 (S):如何存储两个列,所以不起作用。我的猜测可能是我需要对查询中的每个结果进行别名化。有什么建议? 我是否应该避免将来再提供列名 ? 问题答案: 你的猜测是对的。您需要为各列创建一个,以便可以唯一地获取它, 那你现在可以打电话