Series.str方法


1 對dataframe的某一列用str處理后,其類型是<class 'pandas.core.strings.StringMethods'>.可以對df.['列名'].str直接進行切片操作.

如下實現了將df中某列的字符串分割,后生成新的df.用apply函數也可以實現如下功能,但非常慢.

參考:https://blog.csdn.net/yueyao121107/article/details/79730934

df = pd.DataFrame({'appid':['a00140327#a00170298#a00184278#a00187480',
                            'a00158535#a00163116#a00170432#a00187480#a00224345',
                            'a00109386#a00170432#a0021880#a00244790#a00247567',
                            'a00170298#a00203358#a00275200']})
df = df.head(2)
print(df)
# df = df['appid'].str.split('#', expand=True).stack().reset_index(level=1, drop=True)
df = df['appid'].str
df = df.split('#', expand=True)         # 參數expand,這個參數取True時,會把切割出來的內容當做一列,產生多列,否則切換出來的是一個list
df = df.stack()
df = df.reset_index(level=1,drop=True)  # 將索引的第一列置位普通列,並刪除.
print(df)
print(type(df))
#                                                appid
# 0            a00140327#a00170298#a00184278#a00187480
# 1  a00158535#a00163116#a00170432#a00187480#a00224345
# 0    a00140327
# 0    a00170298
# 0    a00184278
# 0    a00187480
# 1    a00158535
# 1    a00163116
# 1    a00170432
# 1    a00187480
# 1    a00224345
# dtype: object
# <class 'pandas.core.series.Series'>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM