【发布时间】:2023-02-22 19:29:27
【问题描述】:
需要从具有数千个扩展名(file1.txt,file2.txt,file3.csv,file4.jpg,...)的文件的列中获取唯一文件扩展名的数量。
df[['filename']].loc[df['filename'].str.split().str.most_common(100)]
【问题讨论】:
标签: pandas
需要从具有数千个扩展名(file1.txt,file2.txt,file3.csv,file4.jpg,...)的文件的列中获取唯一文件扩展名的数量。
df[['filename']].loc[df['filename'].str.split().str.most_common(100)]
【问题讨论】:
标签: pandas
您可以使用 split 方法通过句点字符拆分每个文件名,然后提取结果列表的最后一个元素
data = {'filename': ['file1.txt', 'file2.txt', 'file3.csv', 'file4.jpg']}
df = pd.DataFrame(data)
file_extensions = df['filename'].str.split('.').str[-1].unique()
num_unique_extensions = len(file_extensions)
print(num_unique_extensions)
【讨论】:
您可以将文件名从末尾围绕最后一个点拆分,然后使用 unique 获取唯一扩展名或 nunique 计算唯一扩展名:
exts = df['filename'].str.rsplit('.', n=1).str[1].unique().tolist()
print(exts)
print(len(exts))
# Output
['txt', 'csv', 'jpg']
或者,如果您只想要分机号,请使用 nunique 而不是 unique:
num = df['filename'].str.rsplit('.', n=1).str[1].nunique()
print(num)
# Output
3
输入:
>>> df
filename
0 file1.txt
1 file2.txt
2 ile3.csv
3 file4.jpg
【讨论】: