因此,我試圖回傳由原始資料幀中的 - 或 / 分隔的值的資料幀。它這樣做了,但是似乎每次都會創建一個新的 df 并且我也無法連接它們?
lst = []
for item in ref100.Class:
if len(item) > 3:
result = re.sub("[^0-9]", " ", item)
lst1 = result.split(' ')
lst = pd.DataFrame(lst1)
lst.replace('', np.nan, inplace = True)
lst.dropna(inplace = True)
print (lst)
回傳:
0
1 43
2 44
0
1 45
2 47
但是我想要
0
1 43
2 44
3 45
4 47
任何幫助,將不勝感激!
uj5u.com熱心網友回復:
考慮在定義的方法中概括您的程序。然后構建要在最后連接在一起的資料框串列:
def build_frame(item):
result = re.sub("[^0-9]", " ", item)
lst1 = result.split(' ')
df = pd.DataFrame(lst1).replace('', np.nan).dropna()
return df
final_df = pd.concat(
[build_frame(item) for item in ref100["Class"] if len(item) > 3]
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/401019.html
上一篇:正則運算式匹配/中斷