首页 > 解决方案 > 从熊猫数据框中获取值时,删除每个值周围的 [''] 最有说服力的方法是什么?

问题描述

如果这是一个愚蠢的问题,我深表歉意,但我找不到明显的答案。

我有一些代码只是遍历从熊猫数据框中获取的列并提取唯一名称。该列看起来像这样:

FileNames

file1
file1
file2
file2
file2
file3
file3

我只想制作一个txt文件,内容如下:

file1
file2
file3

相反,我得到一个文本文件,内容如下:

['file1']
['file2']
['file3']

我目前使用的代码如下:

import pandas as pd
import numpy as np


List = []


for line in range (len(Dataframe)-1):
    if Dataframe.iloc[line].values == Dataframe.iloc[line+1].values:
        Currentline = Dataframe.iloc[line].values.tolist()
    elif Dataframe.iloc[line].values != Dataframe.iloc[line+1].values:
        List.append(Currentline)
    else:
        print('Either I have finished or something has gone wrong')

myfile = open('text.txt', 'w')

for item in List:
    myfile.write("%s\n" % item)

虽然整个代码工作正常,但输出的列表在每个项目周围都有方括号和 '' 标记。现在我可以使用 strip 函数删除这些,但我想知道是否有更有效的方法来做到这一点?

另外,我做事的方式使它以当前格式输出是什么?

标签: pythonarrayspandaslist

解决方案


你可以unique从 pandas使用

df = pd.DataFrame.from_dict({"FileName": ['file1', "file2", "file1", "file1", "file3", "file2"]})
print(df)
#     FileName
# 0  file1
# 1  file2
# 2  file1
# 3  file1
# 4  file3
# 5  file2
df['FileName'].unique()
# array(['file1', 'file2', 'file3'], dtype=object)

推荐阅读