Как выбрать что-то вроде пары из pandas dataframe? - PullRequest
0 голосов
/ 05 сентября 2018

Я новичок в питоне и в Пандах. Итак, у меня есть следующий сценарий. Фрейм данных (df) выглядит так:

  col1  col2  col3 col4 col5 col6 
0 x1    y1    z1   f1   e1   g1
1 x2    y2    z2   f2   e2   g2

Существующий код подобен следующему:

items = set()
...
for item in df['col3'].tolist():
  if item not in items:
    items.add(item)

Набор "items" записывается в файл. В настоящее время выходной файл содержит только один столбец ... "col3" примерно так.

Файл: items.txt

col3
z1
z2

Новое требование заключается в записи col3 и col5 в файл. Теперь дополнительным требованием является то, что значение col5 также должно быть зафиксировано для соответствующего значения col3.

Файл: items.txt

col3    col5
z1      e1
z2      e2

Я попытался создать еще один dataframe со следующим:

df1 = df[['col3', 'col5']]

но сейчас я потерян.

Любая помощь приветствуется.

Спасибо, Anoop

1 Ответ

0 голосов
/ 05 сентября 2018

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

col1    col2    col3    col4    col5    col6
x1      y1      z1      f1      e1      g1
x2      y2      z2      f2      e2      g2  
x1      y1      z1      f1      e1      g1
x2      y2      z2      f2      e2      g2  

Затем код для получения уникальных значений col3 с соответствующими значениями col5:

df = pd.read_csv('./Desktop/funky.csv')

df2 = df[['col3', 'col5']] # create new df of only col3 and col5
df_uniq = df2.drop_duplicates(['col3']) # keep only unique values of col3 and corresponding col5 values
df_uniq.to_csv('items.txt', sep='\t') # write to file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...