我已將 xml 檔案轉換為 csv 并將此結果作為資料框列“data [column]”獲得。
` 0 Jan:2018,000/XXX|Dec:2017,000/XXX|Nov:2017,000...
1 Apr:2018,000/XXX|Mar:2018,000/STD|Feb:2018,000...
2 Apr:2019,000/XXX|Mar:2019,000/XXX|Feb:2019,000...
1月3日:2019,000/XXX|
4 十二月:2018,000/XXX|十一月:2018,000/XXX|十月:2018,000...
2月5日:2019,000/XXX|一月:2019,000/XXX|十二月:2018,000...
6 May:2015,XXX/XXX|Apr:2015,XXX/XXX|Mar:2015, XXX..`
我希望這個資料框列通過用“|”分割它來獲取逗號后的每個第一個值。
例子:
000,000,000……
000,000,000...
000,000,000...
000...
000,000,000...
XXX,XXX,XXX...
并將其存盤在資料框中。
我用過這個功能:
def my_split(字串):
**for x in new.str.split("|"):**
**for y in x:**
**print(y.split(",")[-1][0:3])**
new.apply(my_split)
但我一個接一個地得到每一行的值。
000
000
000
000
000
000
000
uj5u.com熱心網友回復:
s = """0 Jan:2018,000/XXX|Dec:2017,000/XXX|Nov:2017,000...
1 Apr:2018,000/XXX|Mar:2018,000/STD|Feb:2018,000...
2 Apr:2019,000/XXX|Mar:2019,000/XXX|Feb:2019,000...
3 Jan:2019,000/XXX|
4 Dec:2018,000/XXX|Nov:2018,000/XXX|Oct:2018,000...
5 Feb:2019,000/XXX|Jan:2019,000/XXX|Dec:2018,000...
6 May:2015,XXX/XXX|Apr:2015,XXX/XXX|Mar:2015,XXX..."""
df = pd.DataFrame([x.split(';') for x in s.split('\n')], columns=['col'])
def custom_strip_fnc(m):
ar = [k.split(',')[1][0:3] for k in m.split('|') if (',') in k]
return ar# %%
df['splitted'] = df['col'].apply(custom_strip_fnc)
df
col splitted
0 0 Jan:2018,000/XXX|Dec:2017,000/XXX|Nov:2017,0... [000, 000, 000]
1 1 Apr:2018,000/XXX|Mar:2018,000/STD|Feb:2018,0... [000, 000, 000]
2 2 Apr:2019,000/XXX|Mar:2019,000/XXX|Feb:2019,0... [000, 000, 000]
3 3 Jan:2019,000/XXX| [000]
4 4 Dec:2018,000/XXX|Nov:2018,000/XXX|Oct:2018,0... [000, 000, 000]
5 5 Feb:2019,000/XXX|Jan:2019,000/XXX|Dec:2018,0... [000, 000, 000]
6 6 May:2015,XXX/XXX|Apr:2015,XXX/XXX|Mar:2015,X... [XXX, XXX, XXX]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/515553.html
上一篇:查找和替換無更新值
