使用python熊貓0.19。Python - 啓動空數據框並從另一個數據框填充
我想創建一個新的數據幀(df2)作爲現有數據幀(df1)的子集。 DF1看起來是這樣的:
In [1]: df1.head()
Out [1]:
col1_name col2_name col3_name
0 23 42 55
1 27 55 57
2 52 20 52
3 99 18 53
4 65 32 51
的邏輯是:
df2 = []
for i in range(0,N):
loc = some complicated logic
df1_sub = df1.ix[loc,]
df2.append(df1_sub)
df2 = pd.DataFrame.from_records(df2)
結果DF2確實是一個數據框,但內容全部由DF1的列名。它看起來像這樣:
In [2]: df2.head()
Out [2]:
col1_name col2_name col3_name
0 col1_name col2_name col3_name
1 col1_name col2_name col3_name
2 col1_name col2_name col3_name
3 col1_name col2_name col3_name
4 col1_name col2_name col3_name
我知道這可能與從列表中數據幀的轉換,但我不知道究竟什麼我失蹤這裏。或者有更好的方法來做到這一點?
請包括'df1.head()'和你想要的最終結果。這使問題更易於理解。 – MYGz
我不確定你在問什麼,但有很多事情需要解決。除非絕對必要,否則不要使用'.ix'。你不應該創建一個數據框列表來做到這一點,但如果你這樣做,最後一行應該改爲'pd.concat(df2)'。請提供更多信息,因爲可能不使用for循環來構建邏輯。另外名稱'df2'意味着你有一個DataFrame。改爲使用'df_list'。 –
在for循環中檢查loc的值,它可能告訴你是否有什麼問題 – Shijo