【发布时间】:2021-10-01 06:44:21
【问题描述】:
df_state_group:
| Index | State | assigned_airport |
|---|---|---|
| 4 | Florida | NaN |
| 5 | Florida | NaN |
| 6 | Florida | NaN |
| 7 | Florida | NaN |
df1:
| Index | State | assigned_airport |
|---|---|---|
| 0 | Washington | NaN |
| 1 | New York | NaN |
| 2 | Illinois | NaN |
| 3 | Texas | NaN |
| 4 | Florida | NaN |
| 5 | Florida | NaN |
| 6 | Florida | NaN |
| 7 | Florida | NaN |
| 8 | Ohio | NaN |
| 9 | Colorado | NaN |
| 10 | Michigan | NaN |
| 11 | Indiana | NaN |
df_airports:
| Index | airports |
|---|---|
| 0 | a |
| 1 | b |
| 2 | c |
| 3 | d |
| 4 | e |
| 5 | f |
index_nearest_airport:
[3]
期望的结果:
df1:
| Index | State | assigned_airport |
|---|---|---|
| 0 | Washington | NaN |
| 1 | New York | NaN |
| 2 | Illinois | NaN |
| 3 | Texas | NaN |
| 4 | Florida | d |
| 5 | Florida | d |
| 6 | Florida | d |
| 7 | Florida | d |
| 8 | Ohio | NaN |
| 9 | Colorado | NaN |
| 10 | Michigan | NaN |
| 11 | Indiana | NaN |
df_state_group 是佛罗里达州 df1 的子集
我试过了:
df1.loc[df_state_group.index, 'assigned_airport'] = df_airports.loc[index_nearest_airport,'airports'].values
但我不断收到错误:ValueError: Must have equal len keys and value when setting with an iterable
【问题讨论】:
-
我想你忘了在你的问题中添加 index_nearest_airport
-
@Anurag Dabas 就在最后一个df之前,值为[3]
-
实际上您的值只有一个元素,但您分配的位置需要 4 个值。因此长度不匹配。
-
对于 Python 3.9,我无法发表评论。您在 index_nearest_airport 中有单个元素。但是如果有更多的值,我不知道赋值的逻辑:/。
标签: python pandas indexing .loc