python - Python:使用应用函数时,熊猫数据框列没有变化
问题描述
作为一个可重现的示例,我创建了以下数据框:
dictionary = {'Metropolitan area': ['New York City','New York City','Los Angeles', 'Los Angeles'],
'Population (2016 est.)[8]': [20153634, 20153634, 13310447, 13310447],
'NBA':['Knicks',' ',' ', 'Clippers']}
df = pd.DataFrame(dictionary)
用“无”替换存在的任何空间,df['NBA']
我创建了以下函数:
def transform(x):
if len(x)<2:
return None
else:
return x
我申请了df['NBA']
using.apply
方法:
df['NBA'].apply(transform)
这样做之后,我得到以下输出,这似乎是成功的:
> 0 Knicks
1 Missing Value
2 Missing Value
3 Clippers
Name: NBA, dtype: object
但是,这里的问题是,当我调用 时df
,df['NBA']
并没有改变,我从一开始就得到了该列,并且空格仍然存在并且没有被 None 替换:
Metropolitan area Population (2016 est.)[8] NBA
0 New York City 20153634 Knicks
1 New York City 20153634
2 Los Angeles 13310447
3 Los Angeles 13310447 Clippers
我究竟做错了什么?我误解了.apply
方法吗?
解决方案
将返回的结果分配apply
给列。
df['NBA'] = df['NBA'].apply(transform)
推荐阅读
- r - rpart -- 分割数
- javascript - 输出为字符串
- oop - 游戏架构:类泄漏到几乎所有文件中
- java - 查找两个字符串是否在 Hashmap 中连接
> 通过递归? - swift4 - 搜索功能逻辑无法正常工作
- haskell - 解析错误(可能不正确的缩进或不匹配的括号) - 主声明的 Haskell 问题
- reactjs - Outlook 添加固定在共享文件夹中不起作用 Outlook Web - SupportsPinning 和 SupportsSharedFolders
- php - 在简短描述之前更改 WooCommerce 单个产品名称位置
- python - Errno 17 文件存在:'example.bat'
- delphi - Delphi Memory Leak:如何找到实际导致内存泄漏的代码行的位置