[英]How to concatenate dataframes with different lengths (and samo columns)?
我正在嘗試將多個 pandas 數據幀相互堆疊。 它們有不同的長度,但都有 7 列。 我想將它們粘貼在彼此下方(在axis = 0上連接)。 所以結果應該是各個長度的總和乘以 7. (x, 7)。
要連接,我使用:
import pandas as pd
import numpy as np
df_1 = pd.DataFrame(np.random.randint(0,100,size=(100, 7))
df_2 = pd.DataFrame(np.random.randint(0,100,size=(150, 7))
df_3 = pd.DataFrame(np.random.randint(0,100,size=(90, 7))
df_4 = pd.DataFrame(np.random.randint(0,100,size=(1001, 7))
df_5 = pd.DataFrame(np.random.randint(0,100,size=(1050, 7))
df_6 = pd.DataFrame(np.random.randint(0,100,size=(780, 7))
df_7 = pd.DataFrame(np.random.randint(0,100,size=(80, 7))
series = [df_1, df_2, df_3, df_4, df_5, df_6, df_7]
total = pd.concat(series, axis=0)
print(total.shape)
結果是 (3251, 15),但期望的結果是 (3251, 7)。
我應該怎么做才能到達那里?
請注意,我沒有具體標識 Dataframe 中的索引或列。 也許解決方案就在那里,但我不確定如何使用這些屬性。
運行您的代碼,它工作正常:
import pandas as pd
import numpy as np
df_1 = pd.DataFrame(np.random.randint(0,100,size=(100, 7)))
df_2 = pd.DataFrame(np.random.randint(0,100,size=(150, 7)))
df_3 = pd.DataFrame(np.random.randint(0,100,size=(90, 7)))
df_4 = pd.DataFrame(np.random.randint(0,100,size=(1001, 7)))
df_5 = pd.DataFrame(np.random.randint(0,100,size=(1050, 7)))
df_6 = pd.DataFrame(np.random.randint(0,100,size=(780, 7)))
df_7 = pd.DataFrame(np.random.randint(0,100,size=(80, 7)))
series = [df_1, df_2, df_3, df_4, df_5, df_6, df_7]
total = pd.concat(series, axis=0)
print(total)
0 1 2 3 4 5 6
0 38 73 6 64 54 20 52
1 41 28 9 14 40 24 17
2 31 53 5 84 53 4 81
3 65 2 87 38 53 62 58
4 57 34 9 50 56 22 81
.. .. .. .. .. .. .. ..
75 1 63 71 71 76 3 95
76 87 47 33 43 79 99 73
77 12 58 11 93 5 35 18
78 16 41 44 15 79 74 73
79 76 54 34 83 35 22 50
[3251 rows x 7 columns]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.