выберите все значения с одной строкой, если у вас несколько значений для результата поиска » isin` из фрейма данных pandas

#python #dataframe

Вопрос:

Выберите все значения с одной строкой, если у вас несколько значений результата поиска с использованием isin фрейма данных pandas, этот пример результата должен быть "'40','50','60','70','80'"

код на python

 d = [['b', '1', 40],
    ['b', '2', 50],
    ['b', '3', 60],
    ['b', '4', 70],
    ['b', '5,6', 80]]

p = pd.DataFrame(d)
p.columns = ['one', 'two', 'three']
p.loc[p['one'].isin(["b"])]['three']
 

Результат выполнения

     one two three
0   b   1   40
1   b   2   50
2   b   3   60
3   b   4   70
4   b   5,6 80
 

ожидаемый результат

  p.loc[p['one'].isin(["b"])]['three'][*]
 
"'40','50','60','70','80'"
 

Ответ №1:

Вы могли бы попробовать что-то вроде этого :

 # get the numbers to a list
numlist = p.loc[p['one'].isin(["b"])]['three'].tolist()

# concatenate the list to get the desired format
",".join(f"'{num}'" for num in numlist)
 

Выход:

 "'40','50','60','70','80'"
 

Комментарии:

1. дорогая, что значит f»{число}»? можете ли вы объяснить подробнее ?

2. Он преобразуется num в строковую форму и добавляет символы одинарных кавычек для каждого num .