如何将数据框列中每个项目的最后 4 个字母附加到列表中

How to append the last 4 letters of every item in a dataframe column to a list

我有一个库存系统,在一个字符串中有两个单独的 SKU,例如 (FT3M-FL3M),我想创建一个名为“first_item”的列表并附加前 4 个字母(第一个 SKU)到它并对列中的每个项目执行此操作。 然后执行相同操作,但取每个字符串的最后 4 位数字(第二个 SKU)

这是示例数据框

| Index    | Skus           |
| -------- | -------------- |
| First    | FT3M-FL3M      |
| Second   | FT2M-FL2M      |
| Second   | FT1M-FB1M      |
| Second   | FT4S-FL4S      |
| Second   | FT4S-FB2M      |

这是我的代码:

first_list = []
for i in sku:
first_list.append(i[0:4])
print(first_list)

它显然不起作用,我得到了一个庞大的列表。

如果您需要 pandas 列中字符串的第一个/最后 n 个字符的列表,您可以尝试:

# first
my_first = [x[:4] for x in df.wanted_column]

# last
my_last = [x[-4:] for x in df.wanted_column]

这使您可以根据需要即时过滤列表,例如:

my_filtered = my_first = [x[:4] for x in df.wanted_column if 'some_sku' not in x]