0
votes

Convertir toutes les lignes d'une colonne de dataframe pandas en valeurs séparées par des virgules avec chaque valeur entre guillemets simples

J'ai un dataframe pandas similaire à:

"'a', 'b', 'c', 'd'"

J'essaie de convertir toutes les lignes de cette colonne en une chaîne séparée par des virgules avec chaque valeur entre guillemets simples, comme ci-dessous:

s = df['Col'].str.cat(sep="', '")
s
"a', 'b', 'c', 'd"

J'ai essayé ce qui suit avec plusieurs combinaisons différentes, mais c'est la plus proche que j'ai obtenue:

'a', 'b', 'c', 'd'

Je pense que le résultat final devrait être:

df = pd.DataFrame(['a', 'b', 'c', 'd'], columns=['Col'])

df 

Col
0   a
1   b
2   c
3   d


3 commentaires

Que diriez-vous de "'" + df.Col1.str.cat(sep="','") + "'" ?


Merci, ça marche, souhaitez-vous ajouter votre commentaire comme réponse pour que j'accepte?


super cela a fonctionné. Je pense que BEN_YO a une réponse similaire, vous pouvez peut-être l'accepter. Happy Coding.


4 Réponses :


0
votes

Essaye ça:

s = df['Col'].tolist()


0 commentaires

3
votes

Une solution rapide sera

"'" + df['Col1'].str.cat(sep="', '") + "'"
"'a', 'b', 'c', 'd'"


2 commentaires

Pourquoi «Col1» (contrairement à «Col»)?


@PeterMortensenP vérifie l'historique édité des opérations ~



0
votes

Essayez quelque chose comme ceci:

Production:

"'a','b','c','d'"

df = pd.DataFrame(['a', 'b', 'c', 'd'], columns=['Col1'])

values = df['Col1'].to_list()
with_quotes = ["'"+x+"'" for x in values]
','.join(with_quotes)


0 commentaires

2
votes

une autre alternative consiste à ajouter chaque élément avec un guillemet supplémentaire, puis à utiliser par défaut .join ;

"'a', 'b', 'c', 'd'"

', '.join([f"'{i}'" for i in df['Col1']])


0 commentaires