我有以下 Dataframe 。我想基于FilePath列创建新列。
FilePath
S:\\colab\a.csv
S:\\colab\b.csv
S:\\colab\c.csv
S:\\colab\apple\dog.txt
S:\\colab\apple\cat.pdf
下面是预期的输出。我想得到一个字符串中的文件层次结构,并将“”转换为“〉”,并删除文件路径中的“S:\”。我还想根据文件路径得到文件和目录的数量。例如,第一个示例的filecnt为3,因为它们是目录colab(a.csv,b.csv,c.csv)和一个目录(apple)中的3个文件。
在python中我怎么能做到这一点呢?
预期输出:
FilePath Hierarchy FileCnt DirCnt
S:\\colab\a.csv colab 3 1
S:\\colab\b.csv colab 3 1
S:\\colab\c.csv colab 3 1
S:\\colab\apple\dog.txt colab > apple 2 0
S:\\colab\apple\cat.pdf colab > apple 2 0
到目前为止我有
df['Hierarchy'] = df['FilePath'].str[4:].str.replace('\', ' > ')
1条答案
按热度按时间nhhxz33t1#
创建helper列有助于获取文件和目录的计数
额外的列:
| 文件路径|层级|之前/最终|最终/指导|文件计数|直接计数|
| - ------| - ------| - ------| - ------| - ------| - ------|
| 文件夹:\colab\a. csv|科拉布|史:|科拉布|三个|1个|
| 文件夹:\colab\b. csv|科拉布|史:|科拉布|三个|1个|
| 文件夹:\colab\c. csv|科拉布|史:|科拉布|三个|1个|
| S:\colab\apple\dog.txt|可乐〉苹果|科拉布|苹果|第二章|无|
| S:\colab\apple\cat.pdf|可乐〉苹果|科拉布|苹果|第二章|无|
dir_cnt字典:
| 最终/指导|直接计数|
| - ------| - ------|
| 史:|1个|
| 科拉布|1个|