如何将数据框列中每个项目的最后 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]
我有一个库存系统,在一个字符串中有两个单独的 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]