Estoy tratando de usar una lista para crear un marco de datos de pandas, pero la lista que tengo no es la forma en que normalmente se requiere para configurar un marco de datos de pandas. Puedo proporcionar un ejemplo a continuación para mostrar de qué estaría hablando.

 listA <- ['Type', 'Style', 'Size', 'Lot Size', 'Age', 'Taxes']

 listB <- ['Detached', 'Bungalow', 'Contact Us', '\n\n25 x 100 Feet \n', 
 'Contact Us', '$3,030 /yr']

Usando la lista anterior, estoy tratando de crear un pandas df como se muestra a continuación

 Type      Style     Size         Lot Size               Age           Taxes 
 Detached  Bungalow  Contact Us   \n\n25 x 100 Feet \n   Contact Us    $3,030 /yr

Sé que la forma convencional es usar pd.DataFrame (colname, columnas = ['datos']) pero en este caso, las listas que se generan son diferentes

1
Molia 4 mar. 2018 a las 23:04

3 respuestas

La mejor respuesta

Utilice la lista de listas para el parámetro de datos y para los nombres de columnas listB:

listA = ['Type', 'Style', 'Size', 'Lot Size', 'Age', 'Taxes']
listB = ['Detached', 'Bungalow', 'Contact Us', '\n\n25 x 100 Feet \n', 'Contact Us', '$3,030 /yr']    
df = pd.DataFrame([listB], columns=listA) 
print (df)
       Type     Style        Size              Lot Size         Age  \
0  Detached  Bungalow  Contact Us  \n\n25 x 100 Feet \n  Contact Us   

        Taxes  
0  $3,030 /yr  
1
jezrael 4 mar. 2018 a las 20:11

Puedes probar:

pd.DataFrame(dict(zip(listA,listB)))
0
Mike Peder 4 mar. 2018 a las 20:08

Estás especificando los datos y las columnas. Los params serán como abajo

>>> x = ['Type', 'Style', 'Size', 'Lot Size', 'Age', 'Taxes']
>>> y = ['Detached', 'Bungalow', 'Contact Us', '\n\n25 x 100 Feet \n', 'Contact Us', '$3,030 /yr']    
>>> pd.DataFrame(data=[y],columns=x)
       Type     Style        Size              Lot Size         Age  \
0  Detached  Bungalow  Contact Us  \n\n25 x 100 Feet \n  Contact Us   

        Taxes  
0  $3,030 /yr 
1
harshil9968 4 mar. 2018 a las 20:07