python - 试图将文本列表转换为小写,但它会将所有内容都转换为 NaN
问题描述
我目前正在尝试使用文本数据,我在这方面相对较新。我正在尝试使用的列是 cast 列,如下所示:
0 [Sam Worthington, Zoe Saldana, Sigourney Weave...
1 [Johnny Depp, Orlando Bloom, Keira Knightley, ...
2 [Daniel Craig, Christoph Waltz, Léa Seydoux, R...
3 [Christian Bale, Michael Caine, Gary Oldman, A...
4 [Taylor Kitsch, Lynn Collins, Samantha Morton,...
Name: cast, dtype: object
我想要的是降低所有大写字母。但是,当我尝试这样做时,它会将所有内容转换为 NaN 值。
这是我所做的简单的事情:
data.cast=data.cast.str.lower()
这是输出:
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
13 NaN
14 NaN
15 NaN
16 NaN
17 NaN
18 NaN
19 NaN
20 NaN
21 NaN
22 NaN
23 NaN
24 NaN
25 NaN
26 NaN
27 NaN
28 NaN
29 NaN
..
谁能帮助我了解我做错了什么以及如何解决它?感谢您的时间!!!
解决方案
您尝试使用字符串方法转换包含列表的列。所以你需要创建一个简单的函数,例如:
def lower(l):
return [x.lower() for x in l]
并使用地图删除大写:
data = pd.DataFrame([{'col':['Titi','Toto','Tutu']},{'col':['Tata','Toto','Tutu']}])
data.col = data.col.map(lower)
data
结果是:
col
0 [titi, toto, tutu]
1 [tata, toto, tutu]
推荐阅读
- ios - 向其添加填充时,SwiftUI 按钮没有响应
- c - 如何解释汇编并将其编写为类似 RISC 的微操作
- android - 如何更改背景中的活动(通过淡入动画或模糊背景)然后关闭android kotlin中的导航抽屉?
- javascript - 如何使用引导模式更新数据?
- python - 使用具有多个值的 Python 字典,如何使用 Jinja 的 for 循环将数据输出到表中?
- mysql - 为什么我在 MySQL 中遇到涉及 if 语句和 StackOverflow 上提到的异常抛出的语法错误?
- react-native - 如何使用 react-native 将变量传递给 apollo 客户端 3?
- geolocation - 以 32 位浮点精度计算两个地理坐标之间的距离
- yolo - azure vm (darknet-azure-vm-ubuntu-18.04) 上的 yolov4 - 不工作
- r - R:某些交互变量水平的平均治疗效果