【发布时间】:2020-01-29 00:45:06
【问题描述】:
我有一个来自 pandas 系列的 python 列表,如下所示:
dsa = pd.Series(crew_data['Work Type'])
disc = [dsa]
print(disc)
输出如下:
[0 Disc - Standard Removal & Herbicide
1 Disc - Standard Removal & Herbicide
2 Standard Trim
3 Disc - Hazard Tree
4 Disc - Hazard Tree
...
134 Disc - Hazard Tree
135 Disc - Hazard Tree
136 Disc - Hazard Tree
137 Disc - Hazard Tree
138 Disc - Hazard Tree
Name: Work Type, Length: 139, dtype: object]
现在下一步是对每个元素的前 4 个字符进行切片,这样返回的值就是 Disc
在单个字符串上执行此操作似乎很简单,但是由于某种原因尝试使用列表执行此操作似乎几乎是不可能的。这可以在 Excel 中使用公式 =LEFT(A1,4) 简单地完成,那么它肯定可以在 python 中简单地完成吗?
如果有人有一个很棒的解决方案。
【问题讨论】:
-
这个列表是一个大字符串,还是列表中有多个对象?你能提供一个更好的例子吗?
-
不,这些是单独的对象。它们代表系统数据库中每个单独任务的类别代码
-
您在
crew_data['column']上致电pd.Series()有什么原因吗?通常,如果crew_data是DataFrame,那么获取单个列已经会给您一个Series? -
根据您的问题中不清楚的一些细节,您的问题可能已经在这里得到回答stackoverflow.com/questions/36505847/…
-
感谢您的链接。这措辞完美。我在这个主题上搜索的所有内容都提供了一个带有 for 循环的函数或一些更复杂但不起作用的函数......