Python中文
首页
教程
问答
标签
搜索
登录
注册
使用lambda(pd.DataFrame)的元素操作
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>尝试使用lambda从DatraFrame中减去常量数组</p> <p>这是我的数据帧<code>d</code>:</p> <pre class="lang-py prettyprint-override"><code>import pandas as pd d = pd.DataFrame() d['x'] = pd.Series([1, 2, 3, 4, 5, 6]) d['y'] = pd.Series([11, 22, 33, 44, 55, 66]) </code></pre> <p>按预期工作的经典循环方法:</p> <pre class="lang-py prettyprint-override"><code>transformed = pd.DataFrame(columns=('x', 'y')) for index, row in d.iterrows(): transformed.loc[index] = [row[0] + 5, row[1] + 10] print(transformed) </code></pre> <p>产生:</p> <pre><code> x y 0 6 21 1 7 32 2 8 43 3 9 54 4 10 65 5 11 76 </code></pre> <p>这是<code>lambda</code>版本:</p> <pre class="lang-py prettyprint-override"><code>print(d.apply(lambda x: x + [5, 10])) </code></pre> <p>但是,正在引发错误:<code>ValueError: operands could not be broadcast together with shapes (6,) (2,)</code></p> <p>在阅读了<a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html" rel="nofollow noreferrer">Pandas documentation</a>之后,我明白我的lambda方法应该有效。为什么不起作用</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果列数与列表长度相同,则最简单的是:</p> <pre><code>print(d + [5, 10]) x y 0 6 21 1 7 32 2 8 43 3 9 54 4 10 65 5 11 76 </code></pre> <p>如果有多列“按列表选择”,则列表的长度必须相同:</p> <pre><code>print(d[['x','y']] + [5, 10]) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
1 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
7 回答
无法使用Django+nginx上载媒体文件
2 回答
无法使用Django1.6导入名称模式
5 回答
无法使用Django1.7和mongodb登录管理站点
7 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
3 回答
无法使用Djangockedi验证CBV中的字段
8 回答
无法使用Djangocketditor上载图像(错误400)
5 回答
无法使用Djangocron进行函数调用
5 回答
无法使用Djangofiler djang上载文件
9 回答
无法使用Djangokronos
8 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
4 回答
无法使用Djangomssq迁移Django数据库
4 回答
无法使用Djangonox创建用户
4 回答
无法使用Djangopyodb从Django查询SQL Server
2 回答
无法使用Djangopython3ldap连接到ldap
5 回答
无法使用Djangoredis连接到redis
6 回答
无法使用Django中的FK创建新表
7 回答