首页 > 解决方案 > 将文件名的一部分保存在单独的 panda df 列中

问题描述

我想将文件名的不同位置保存在不同的熊猫 df 列中。

例如,我的文件名如下所示:

001015io.png

我的文件夹包含大约 400 个这样的图片文件。我是编程初学者,所以我不知道我应该如何开始解决这个问题。

标签: pythonpandasstringdataframefilenames

解决方案


如果您需要的文件名部分是一致的(所有文件中的位置和长度相同),则可以使用字符串切片从文件名的各个部分创建新列,如下所示:

import pandas as pd

df = pd.DataFrame({'file_name': ['001015io.png']})

df['y position'] = df['file_name'].str[0:3]
df['x position'] = df['file_name'].str[3:6]
df['status'] = df['file_name'].str[6:8]

这导致数据框:

      file_name y position x position status
0  001015io.png        001        015     io

请注意,当您对字符串进行切片时,您会给出一个开始位置和一个停止位置,例如[0:3]. 起始位置包含在内,但停止位置不包含在内,因此[0:3]为您提供 0-2 的子字符串。


推荐阅读