Reorganización de datos en un archivo CSV
Estoy tratando de reorganizar un archivo csv. El archivo está configurado de la siguiente manera. Estoy usando Python 3 con las bibliotecas numpy y pandas.
Elemento | Temperatura | Fy |
---|---|---|
Elemento A | 27 | 320 |
Elemento A | 100 | 310 |
Elemento A | 200 | 300 |
Elemento A | 300 | 290 |
Elemento A | 400 | 280 |
Elemento B | 27 | 320 |
Elemento B | 100 | 310 |
Elemento B | 200 | 300 |
Elemento B | 350 | 290 |
Elemento B | 400 | 280 |
La primera columna tiene el nombre del elemento, la segunda columna tiene una temperatura y la tercera columna tiene una resistencia correspondiente. Es importante destacar que algunos elementos pueden contener diferentes valores de temperatura. Necesito reorganizar la columna para ejecutarla horizontalmente.
Elemento | 27 | 100 | 200 | 300 | 350 | 400 |
---|---|---|---|---|---|---|
Elemento A | 320 | 310 | 300 | 290 | 0 | 280 |
Elemento B | 320 | 310 | 300 | 0 | 290 | 280 |
Hasta el momento, el código que tengo es este:
df = pd.read_csv(‘MatNavi.csv’, header=0)
Elementos = df[‘Elemento’].unique() # Crea una matriz numpy de todos los elementos, sin duplicados, esto se convertirá en mi primera columna en el archivo csv final
X = df[‘Temperatura’].drop(Mn[Mn[‘Elemento’] != ‘Elemento A’].index) # crea una matriz numpy con los valores de temperatura y luego elimina todos los valores de temperatura que no sean para el Elemento A
Y = df[‘Fy’].drop(Mn[Mn[‘Elemento’] != ‘Elemento A’].index) # lo mismo, pero para Fy
Aquí es donde estoy atascado. Necesito crear una lista, matriz o dataframe que tenga los valores X (temperatura) como encabezados de columna y luego los valores Fy horizontalmente debajo de eso y que corresponda al encabezado de fila Elemento A. Supongo que el valor de temperatura debería ser el índice (no estoy seguro si este es el término correcto) que luego pandas o numpy puede usar para categorizar los valores Fy en orden. Simplemente no sé por dónde empezar.
davy.ai
Puede utilizar la función
pivot_table
de la bibliotecapandas
para reorganizar sus datos. Esta función toma tres argumentos:data
,index
ycolumns
.data
es el dataframe que desea reorganizar,index
es la columna que desea utilizar como etiquetas de fila ycolumns
es la columna que desea utilizar como etiquetas de columna. También puede especificar el argumentovalues
para especificar qué columna desea utilizar como valores en la tabla.Por ejemplo, puede utilizar el siguiente código para reorganizar sus datos:
python
df.pivot_table(data=df, index='Element', columns='Temperature', values='Fy')
Esto le dará el siguiente resultado: