Converti Pandas Series in DataFrame
-
Converti una singola
Series
di Pandas inDataFrame
utilizzandopandas.DataFrame()
-
Converti una singola
Series
di Pandas inDataFrame
utilizzandopandas.Series.to_frame()
- Convertire multiple Pandas Series in dataframes
La creazione di colonne più recenti dalla Series
derivata o esistente è un’attività formidabile nell’ingegneria delle caratteristiche. La Series
o la colonna appena creata può essere convertita in Dataframe utilizzando le funzioni native dei pandas. In questo articolo, introdurremo come convertire la Series
di Pandas in Dataframe.
Negli esempi seguenti, lavoreremo sul dataframe creato utilizzando il seguente snippet.
import pandas as pd
import numpy as np
np.random.seed(0)
df_series = pd.Series(
np.random.randint(0, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
)
print(df_series)
Produzione:
a 44
b 47
c 64
d 67
e 67
f 9
g 83
h 21
i 36
j 87
dtype: int64
Converti una singola Series
di Pandas in DataFrame
utilizzando pandas.DataFrame()
La Series
può essere trasformata in un Dataframe usando il costruttore DataFrame()
inviando la Series
di Pandas come argomento.
import pandas as pd
import numpy as np
np.random.seed(0)
df_series = pd.Series(
np.random.randint(0, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
)
print(pd.DataFrame(df_series, columns=["A"]))
Produzione:
A
a 81
b 37
c 25
d 77
e 72
f 9
g 20
h 80
i 69
j 79
Come visto sopra, l’output della funzione restituisce un Dataframe.
Converti una singola Series
di Pandas in DataFrame
utilizzando pandas.Series.to_frame()
Questa funzione converte la Series
di Pandas data in un Dataframe. Il nome della colonna può essere impostato con l’argomento name
.
import pandas as pd
import numpy as np
np.random.seed(0)
df_series = pd.Series(
np.random.randint(0, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
)
print(df_series.to_frame(name="A"))
Produzione:
A
a 44
b 47
c 64
d 67
e 67
f 9
g 83
h 21
i 36
j 87
Possono esserci scenari in cui la serie data non ha alcun nome. In situazioni come queste, il metodo reset_index()
può tornare utile.
import pandas as pd
import numpy as np
np.random.seed(0)
df_series = pd.Series(
np.random.randint(0, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
).rename_axis("index")
print(df_series)
print("\n")
print(df_series.reset_index())
Produzione:
index
a 44
b 47
c 64
d 67
e 67
f 9
g 83
h 21
i 36
j 87
dtype: int64
index 0
0 a 44
1 b 47
2 c 64
3 d 67
4 e 67
5 f 9
6 g 83
7 h 21
8 i 36
9 j 87
Come visto sopra, il dataframe creato contiene una nuova colonna denominata 0
. La colonna denominata 0
può essere rinominata utilizzando l’argomento name
che può essere fornito alla funzione reset_index()
, come mostrato di seguito.
import pandas as pd
import numpy as np
np.random.seed(0)
df_series = pd.Series(
np.random.randint(0, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
).rename_axis("index")
print(df_series)
print("\n")
print(df_series.reset_index(name="A"))
Produzione:
index
a 44
b 47
c 64
d 67
e 67
f 9
g 83
h 21
i 36
j 87
dtype: int64
index A
0 a 44
1 b 47
2 c 64
3 d 67
4 e 67
5 f 9
6 g 83
7 h 21
8 i 36
9 j 87
Convertire multiple Pandas Series in dataframes
Gli esempi precedenti hanno dimostrato la capacità di convertire una sola Series
di Pandas in un Dataframe. E se ci fossero più Series
, e queste devono essere unite insieme a un singolo Dataframe? Dopo aver creato la singola serie, il dataframe può essere creato concatenando utilizzando la funzione concat()
.
import pandas as pd
import numpy as np
np.random.seed(0)
df_series1 = pd.Series(
np.random.randint(0, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
)
df_series2 = pd.Series(
np.random.randint(40, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
)
df_series3 = pd.Series(
np.random.randint(80, 100, size=(10)),
index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
)
df_stitched = pd.concat([df_series1, df_series2, df_series3], axis=1)
print(df_stitched)
Produzione:
0 1 2
a 44 46 97
b 47 64 85
c 64 64 93
d 67 52 88
e 67 98 89
f 9 41 99
g 83 78 96
h 21 79 99
i 36 63 85
j 87 86 95
Nota che la funzione pd.concat()
includeva un argomento axis=1
, che corrisponde all’appendice lungo la colonna. Se axis
non è fornito, ci sarà un’unione o un’unione di righe su tutti i Dataframe.
Articolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum