Python中文
首页
教程
问答
标签
搜索
登录
注册
Groupby在一列上,apply函数在另一列上,但保留dataframe所有其他列的第一个元素
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这是我的代码:</p> <pre class="lang-py prettyprint-override"><code>frst_df = df.drop(columns=["Comment"]).groupby(['source'], as_index=False).agg('first') cmnt_df = df.groupby(['source'], as_index=False)['Comment'].apply(', '.join) merge_df = pd.merge(frst_df, cmnt_df , on='source') </code></pre> <p>我希望我在这里所做的一切是可以理解的</p> <p>我有一个很大的数据框,其中有一列“source”。这是数据帧的主列。现在对于“Comment”列,我想加入与“source”值对应的所有注释。数据框中还有大约50个其他列。我只想从与“源”对应的所有值中选取第一个元素</p> <p>我编写的代码工作得很好,但是数据帧非常庞大,创建两个单独的数据帧然后合并它们需要很多时间。有没有更好的办法</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这是另一种可能的解决办法</p> <pre><code>df['Comment'] = df.groupby('source')['Comment'].transform(lambda x: ','.join(x)) df = df.groupby('source').first() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
pyVISA GPIB GET(组执行触发器)
9 回答
Pyvisa IOerror设备:Korad K3005d电源
7 回答
PyVISA mac OS X(山狮)安捷伦33250
4 回答
Pyvisa Pyusb无法加载大于1 MB的序列
6 回答
pyVisa RS232太慢
3 回答
PyVISA RS232超时错误(安捷伦电源)
9 回答
PyVISA SCPI命令和查询(值更新问题)
7 回答
PyVISA SerialInstrument需要硬重置才能在故障后连接
8 回答
pyvisa,未找到函数viOpen
8 回答
pyVISA:以编程方式将仪器返回到本地模式
10 回答
pyvisa:接口类型是什么意思?
2 回答
pyvisa.errors.VisaIOError:VI_ERROR_TMO(1073807339):操作完成前超时
8 回答
PyVisa“更复杂的示例”根本不运行Keithley 2400不理解的命令
8 回答
PyVisapy后端
10 回答
PyVISA不能写入超过7F的十六进制字符
1 回答
PYVISA中的ENUM模块和cStringIO模块
4 回答
PyVisa代码的图形用户界面
6 回答
Pyvisa使用按键电源超时
9 回答
PyVISA和Kethley 2701只能从一个通道获取结果
9 回答
PyVisa和Printing New D
9 回答