J'ai quelque chose comme ceci: Je veux une liste de sous-tableau composée de 3 valeurs telles que ceci: p> df.values.tolist()
3 Réponses :
IIUC
df=df.set_index('time')
df.groupby(np.arange(df.shape[1])//3,axis=1).agg(lambda x : x.values.tolist()).values.tolist()
[[[32, 12, 56], [45, 3, 67]], [[60, 34, 2], [5, 13, 90]]]
Cela me donne une erreur sur 'Time'. Peut-il être que ce n'est pas un index?
@Hugob Vous pouvez le laisser tomber df = df.drop ('Time', 1)
import pandas as pd data= [[0,32,60],[1,12,34],[2,56,2],[3,45,5],[4,3,13],[5,67,90]] df = pd.DataFrame(data, columns = ["time","val1","val2"])
Convertissez d'abord l'ensemble de l'ensemble de données à la liste, suivi en divisant chacune de ces listes dans 2 listes distinctes.
df2=df.values.tolist() #Convert the DataFrame to List
lst_split=[]
for lst in df2:
temp1=lst[:len(lst)//2] #Create First Half of the split
temp2=lst[len(lst)//2:] #Create Second Half of the split
lst_split.append(temp1)
lst_split.append(temp2) #Appending to the Final list
Ajout de certaines explications peut également aider à mieux comprendre la réponse.