2
我目前面臨正在採取大熊貓數據幀,有效地採取每個記錄並將其分解成多個記錄以下列方式問題:大熊貓:拆分一行到多行高效
輸入:
In [16]: pd.DataFrame({'Name': 'Person1', 'State': 'Indiana', 'Money1': 100.42, 'Money2':54.54, 'Money3': 23.45}, index=[1])
Out[16]:
Money1 Money2 Money3 Name State
1 100.42 54.54 23.45 Person1 Indiana
輸出:
Money1 Money2 Money3 Name State
1 100.42 np.nan np.nan Person1 Indiana
2 np.nan 54.54 np.nan Person1 Indiana
3 np.nan np.nan 23.45 Person1 Indiana
本質上來說,問題是分裂原紀錄爲X個記錄,其中x是在柱後通過(i拆分列表在這種情況下,'Money1','Money2','Money3'。我曾嘗試通過創建DataFrames並將它們連接起來,但這非常緩慢且內存效率低下。
EDIT1:
請不,答案不一樣,如果你的靜態列(即都變成了多指標的那些)甚至一個充滿不同的NaN工作。這是大熊貓報告的錯誤: https://github.com/pydata/pandas/issues/6322
要解決它,使用fillna
或replace
填寫完全的NaN
與空字符串''
包括列,例如,然後在這個過程之後,把NaN
回。
調用'df2.reset_index(drop = False)'在上述過程之後將其轉換爲我想要的格式。 – Zeke