При извлечении значений из фрейма данных pandas, какой самый красноречивый способ удалить [''] вокруг каждого значения? - PullRequest
0 голосов
/ 20 июня 2019

Я прошу прощения, если это глупый вопрос, но я не могу найти очевидный ответ.

У меня есть некоторый код, который просто перебирает столбец, который я взял из кадра данных панд, и вытаскивает уникальныйимена.Столбец выглядит примерно так:

FileNames

file1
file1
file2
file2
file2
file3
file3

Я просто хочу создать текстовый файл с надписью:

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)

Хотя весь этот код работает нормально, выводимый список имеет квадратные скобки и знаки '' вокруг каждого элемента.Теперь я могу просто удалить их с помощью функции стриптиза, но мне было интересно, есть ли более эффективный способ сделать это?

Кроме того, что я имею в виду, как я делаю вещи, которые выводят его в текущем формате

1 Ответ

0 голосов
/ 20 июня 2019

Вы можете использовать unique из панд

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...