簡體   English   中英

將數據框列分成相等的部分

[英]split a dataframe column into equal parts

我想將此專欄分為三部分:城市,州,郵編。 我當時正在考慮這樣的事情: https : //pandas.pydata.org/pandas-docs/stable/genic/pandas.Series.str.split.html 但是,我認為該專欄需要先發表系列文章? 任何幫助都會很棒。

import pandas as pd
suite_list
hospital_list =pd.DataFrame(suite_list, columns=['name', 'address_1', 'address_2', 'city_state_zip', 'phone'])

city_state_zip示例=亞利桑那州Sahuarita,85629。我希望“ Sahuarite”,“ AZ”,“ 85629”在DataFrame中顯示為單獨的列。

你可以嘗試這樣

df = pd.DataFrame({'Name' : ('john','doe','smith'), 'address_1' : (105,305,505), 'address_2' : ('path','lane','route'),\
           'city_state_zip': ('Sahuarita, AZ, 85629', 'Sahuarita1, AZ1, 75629', 'Sahuarita2, AZ2, 65629')})

df

        Name    address_1   address_2   city_state_zip
0        john   105             path    Sahuarita, AZ, 85629
1        doe    305             lane    Sahuarita1, AZ1, 75629
2        smith  505             route   Sahuarita2, AZ2, 65629

然后嘗試

df["col1"],df["col2"],df["col3"] = zip(*df["city_state_zip"].str.split().tolist())

輸出df將是

       Name address_1   address_2   city_state_zip      col1     col2     col3
    0   john    105     path    Sahuarita, AZ,85629     Sahuarita   AZ     85629
    1   doe 3   05      lane    Sahuarita1, AZ1,5629    Sahuarita1  AZ1    75629
    2   smith   505     route   Sahuarita2, AZ2,65629   Sahuarita2  AZ2    65629

這應該給你想要的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM