我已经将一个xml文件转换为csv,并将此结果作为数据帧列"数据[列]";。
`0 Jan:2018000/XXX|Dec:2017000/XXX| Nov:2017000…
2018年4月1日/XXX | 2018年3月/STD | 2018年2月…
2019000/XXX|三月:2019000/XXX|二月:2019000…
2019000/XXX|
2018000/XXX|Nov:2018000/XXX| Oct:2018000…
2月5日:2019000/XXX | 1月:2019000-XXXX | 12月:2018000…
2015年5月6日,XXX/XXX | 2015年4月,XXX/XXX| 2015年3月,XXX。`
我希望这个数据帧列通过将逗号后的每个第一个值拆分为"|&";。
示例:
000000000….
000000000…
000000000…
000…
000000000…
XXX、 XXX,XXX。。。
并将其存储在数据帧中。
我用过这个功能:
def my_split(字符串(:
**for x in new.str.split("|"):**
**for y in x:**
**print(y.split(",")[-1][0:3])**
新建.apply(my_split(
但是我得到了每一行的值。
000
000
000
000
000
000
000
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]