2
votes

Convertir une cellule de dataframe Pandas en liste

J'ai un dataframe qui a les colonnes ci-dessous

Record Type     Value
100             1,2,3,4,5
200             0,10
300             1

Résultats attendus: list1 = [1,2,3,4,5]


0 commentaires

3 Réponses :


0
votes

df.values.tolist () est ce que vous cherchez :)


1 commentaires

Cela convertira l'ensemble du dataframe en listes, ce que je ne voudrais pas. Je demande seulement que la valeur du type d'enregistrement 100 (1, 2, 3, 4, 5) soit convertie en liste et pas les autres.



2
votes

Il semble que vos valeurs "Valeur" soient de type chaîne de données, donc ce code mappe simplement la valeur de chaîne à une liste d'entiers.

list1 = list (map (int, df ['Value'] [0] .split (",")))


2 commentaires

Merci. fonctionne parfaitement. pouvons-nous obtenir la liste en fonction de la condition "Type d'enregistrement". Par exemple, le type d'enregistrement 100 doit renvoyer [1,2,3,4,5] pour le type d'enregistrement 200, il doit renvoyer [0,10]?


@rmutalik @ Que faire si la colonne entière doit être convertie en liste? Comme - Valeur du type d'enregistrement 100 [1,2,3,4,5] 200 [0,10] 300 [1]



0
votes

Peut-être de cette façon:

import pandas as pd
df = pd.DataFrame({'Record Type': ['100', '200', '300'],
           'Value': [(1,2,3,4,5), (0,10), 1]})

def returnlist(df):
    v = []
    for i in range(df.shape[0]):
             if type(df['Value'][i]) != int:
             x = list(df['Value'][i])
             v.append(x)           
    return v


0 commentaires