我试图找出在连接值时是否可以删除数据框中的重复项
例:
df
key v1 v2
0 1 n/a a
1 2 n/a b
2 3 n/a c
3 2 n/a d
4 3 n/a e
输出应该是这样的:
df_out
key v1 v2
0 1 n/a a
1 2 n/a b,d
2 3 n/a c,e
我尝试使用df.drop_duplicates()和一些循环来保存v2列值,但什么也没有。我正在尝试通过使用Pandas使其美观大方,干净利落。
有人知道大熊猫可以做到这一点吗?
假设您有两列,这应该很容易。使用groupby
+ agg
。v1
应该由first
和v2
合并','.join
。
df
key v1 v2
0 1 NaN a
1 2 NaN b
2 3 NaN c
3 2 NaN d
4 3 NaN e
(df.groupby('key')
.agg({'v1' : 'first', 'v2' : ','.join})
.reset_index()
.reindex(columns=df.columns))
key v1 v2
0 1 NaN a
1 2 NaN b,d
2 3 NaN c,e
如果您有多个需要相同聚合的此类列,请构建一个称为的agg dictf
并将其传递给agg
。
问题内容: 给定以下数组,我想用点替换逗号: 我一直在尝试不同的方式,但是我不知道该怎么做。另外,我已将其作为DataFrame导入,但无法应用该函数: 有什么建议如何解决这个问题? 问题答案: 您需要分配的结果,你的工作早在操作不就地,除了可以使用或并用矢量化要做到这一点更快: 这里的关键是分配结果:
首先,我对Python完全是新手,所以,也许是一些非常简单的事情我做得不对。 我正在读取一个多工作表xlsx文件,并将每个文件发送到单独的数据帧。(至少,我认为我正在这么做)。 这就是结果。 然后,我尝试打印每个df的一些列(手动尝试) 但我得到的只是: 正在显示任何值 如果我只调用,我会得到以下结果: 我做错了什么? 随着时间的推移,这是一项重大工作的一部分。我要做的就是过滤所有工作表的一些列,
问题内容: 我有2张桌子和。表包含客户的电子邮件。 我正在使用PHP-IMAP从电子邮件服务器获取电子邮件,然后将其保存到数据库表。 该表有2个字段,并且字段包含逗号分隔的值。 我需要获取从第一台邮件,然后搜索对与上。 首先,我考虑了要搜索的条件,但我想拥有类似的东西或其他东西。 我怎样才能更好地做到这一点?(由于某些原因,我无法在此表上使用关系) 请指教。 问题答案: 基于FIND_IN_SET
问题内容: 我正在编写导出功能,我需要将联系人导出到Excel,并且遇到了技术难题-也许我的SQL技能的差距更接近事实了。;) 这是场景:我在数据库中有一堆联系人。每个联系人可以具有许多不同的角色,例如,一个联系人可以是C#开发人员和DBA,也可以是DBA和IT经理。它们分为三个表,如下所示: 不太难遵循。有一组联系人和一组角色。这些由相应ID上的ContactRole表连接。 导出联系人时,我需
问题内容: 我的数据库中有列,其中的值如下所示: 在虚拟列中没有任何编号。逗号分隔的值可以出现。我尝试了以下查询,但它正在创建重复的结果。 我不明白这个问题。谁能帮忙? 问题答案: 非常适合我- 还有许多其他方法可以实现它。阅读将单个逗号分隔的字符串拆分成行。 *关于使用列而不是单个字符串值时的重复项的 *更新 。只见PRIOR子句中使用DBMS_RANDOM的摆脱循环回路的在这里 尝试以下方法
我如何修改我的regex来为那些以“”或“,”开头,以“”或“,”结尾的字符串返回false