[1,2,3,4,5,6]< /code> < /td>
< /tr>
b < /td>
2 < /td>
[6,7,8,9,10,11]< /code> < /td>
< /tr>
C < /td>
3 < /td>
[nan,nan,nan,nan,nan,nan]< /code> < /td>
< /tr>
d < /td>
4 < /td>
NaN< /code> < /td>
< /tr>
E < /td>
5 < /td>
NaN
Um den nächsten Schritt meines Codes auszuführen, benötige ich alle Arrays in C3 , um eine konsistente Länge zu haben. Für die Eingaben, die einkamen, waren im Join (d. H. Zeile 1 bis 3) dies bereits erledigt. Für die Zeilen, die in DF2 fehlten, in denen ich jetzt nur einen einzelnen Nan -Werte habe (Zeilen 4 und 5), muss ich diese Nan durch ein Array von Nan -Werten wie in Zeile 3. ersetzen. Das Problem ist, dass ich nicht herausfinden kann, wie ich es tun kann.
df3.loc[pd.isnull(df3.c3),'c3'] = np.full((6,),np.nan)
< /code>
, was mir ein < /p>
gabValueError: Must have equal len keys and value when setting with an iterable
< /code>
fair genug; Ich verstehe diesen Fehler und warum Python verwirrt ist, was ich versuche zu tun. Wie wäre es damit? < /P>
for i in df3.index:
df3.at[i,'c3'] = np.full((6,),np.nan) if all(pd.isnull(df3.c3)) else df3.c3
< /code>
Dieser Code wird ohne Fehler ausgeführt, aber wenn ich dann DF3 ausdrucken (oder ihn verwenden), erhalte ich diesen Fehler: < /p>
RecursionError: maximum recursion depth exceeded
< /code>
Das, das ich nicht verstehe, aber weitermachen, was ist, wenn ich eine Spalte voller Nan -Arrays vorscheide und dann nach dem Join: < /p>
etwas Logik machen kann: < /p>
for i in df1.index: df1.at[i,'c4'] = np.full((6,),np.nan)
< /code>
Dies gibt mir den verständlichen Fehler: < /p>
ValueError: setting an array element with a sequence
< /code>
Wie wäre es mit einer anderen Variation derselben Idee: < /p>
df1['c4'] = np.full((6,),np.nan)
< /code>
Dies gibt einen anderen, auch verständlichen Fehler: < /p>
ValueError: Length of values (6) does not match length of index (5)
< /code>
Daher die Frage: Wie ersetze ich Werte in meinem Datenrahmen (in diesem Fall Nullwerte) durch ein leeres Numpy-Array einer bestimmten Länge? />
c1
c2
c3
A
1
[1,2,3,4,5,6]< /code> < /td>
< /tr>
b < /td>
2 < /td>
[6,7,8,9,10,11]< /code> < /td>
< /tr>
C < /td>
3 < /td>
[nan,nan,nan,nan,nan,nan]< /code> < /td>
< /tr>
d < /td>
4 < /td>
[nan,nan,nan,nan,nan,nan]< /code> < /td>
< /tr>
E < /td>
5 < /td>
[nan,nan,nan,nan,nan,nan]
Ich habe einen PANDAS -Datenfreen, den ich aus einem solchen Prozess abstelle: < /p> [code]df1 = pd.DataFrame({'c1':['A','B','C','D','E'],'c2':[1,2,3,4,5]}) df2 = pd.DataFrame({'c1':['A','B','C'],'c2':[1,2,3],'c3': [np.array((1,2,3,4,5,6)),np.array((6,7,8,9,10,11)),np.full((6,),np.nan)]}) df3 = df1.merge(df2,how='left',on=['c1','c2']) [/code] This looks like this:
Um den nächsten Schritt meines Codes auszuführen, benötige ich alle Arrays in C3 , um eine konsistente Länge zu haben. Für die Eingaben, die einkamen, waren im Join (d. H. Zeile 1 bis 3) dies bereits erledigt. Für die Zeilen, die in DF2 fehlten, in denen ich jetzt nur einen einzelnen Nan -Werte habe (Zeilen 4 und 5), muss ich diese Nan durch ein Array von Nan -Werten wie in Zeile 3. ersetzen. Das [url=viewtopic.php?t=20324]Problem[/url] ist, dass ich nicht herausfinden kann, wie ich es tun kann.[code]df3.loc[pd.isnull(df3.c3),'c3'] = np.full((6,),np.nan) < /code> , was mir ein < /p> gabValueError: Must have equal len keys and value when setting with an iterable < /code> fair genug; Ich verstehe diesen Fehler und warum Python verwirrt ist, was ich versuche zu tun. Wie wäre es damit? < /P> for i in df3.index: df3.at[i,'c3'] = np.full((6,),np.nan) if all(pd.isnull(df3.c3)) else df3.c3 < /code> Dieser Code wird ohne Fehler ausgeführt, aber wenn ich dann DF3 ausdrucken (oder ihn verwenden), erhalte ich diesen Fehler: < /p> RecursionError: maximum recursion depth exceeded < /code> Das, das ich nicht verstehe, aber weitermachen, was ist, wenn ich eine Spalte voller Nan -Arrays vorscheide und dann nach dem Join: < /p> etwas Logik machen kann: < /p> for i in df1.index: df1.at[i,'c4'] = np.full((6,),np.nan) < /code> Dies gibt mir den verständlichen Fehler: < /p> ValueError: setting an array element with a sequence < /code> Wie wäre es mit einer anderen Variation derselben Idee: < /p> df1['c4'] = np.full((6,),np.nan) < /code> Dies gibt einen anderen, auch verständlichen Fehler: < /p> ValueError: Length of values (6) does not match length of index (5) < /code> Daher die Frage: Wie ersetze ich Werte in meinem Datenrahmen (in diesem Fall Nullwerte) durch ein leeres Numpy-Array einer bestimmten Länge? /> c1 c2 c3
Ich arbeite derzeit am Datensatz, der Spalten als Breitengrad und Längengrad enthält, die auf der Route fehlende Werte haben. Ich möchte die Route füllen, aber das Problem ist die Route, die...
Vor kurzem habe ich die neue Version von Android Studio namens Flamingo installiert. Zuvor habe ich die leere Aktivität Vorlage verwendet, um Android -Anwendungen mithilfe der Java...