Collection n ° 1 de recettes de pandas pouvant atteindre les endroits qui démangent
Je veux gérer un tableau / DataFrame dans lequel "nom de catégorie (index)" et "valeur" sont un élément sous forme de chaîne de caractères. Attribuons une valeur à une colonne dont le nom de colonne est chaque catégorie (index).
ID | Putain de grosse ficelle |
---|---|
0 | A 0, B 1, C 2 |
1 | B 3, D 4 |
2 | A 5, C 6 |
3 | C 7, D 8 |
↑ Je veux ↓ cette ↑ putain de grosse chaîne de caractères.
ID | A | B | C | D |
---|---|---|---|---|
0 | 0 | 1 | 2 | 0 |
1 | 0 | 3 | 0 | 4 |
2 | 5 | 0 | 6 | 0 |
3 | 0 | 0 | 7 | 8 |
Chaque catégorie est connue. Si vous ne savez pas, faites une liste de catégories.
str_to_dataframe.py
import numpy as np
import pandas as pd
def str_to_dict(x):
dic = {'A' : 0, 'B' : 0, 'C' : 0, 'D' : 0}
for xx in x.split(","):
xxs = xx.split(" ")
dic[xxs[-2]] = int(xxs[-1])
return dic
temp = df["Putain de grosse ficelle"].apply(lambda x : pd.Series(str_to_dataframe(x)))
df = pd.concat((df, temp), axis=1)
C'est rapide!
Recommended Posts