[英]Convert Pandas DataFrame Column From String to Int Based on Conditional
[英]Splitting a string on a special character in a pandas dataframe column based on a conditional
我正在嘗試在我的 Pandas 數據框中的地址列中建立一致性。 我有一個 ZipCode 列,它有兩種格式:1) 87301 2) 87301-1234。 不是每一行都有連字符,所以當它出現時我需要在連字符上拆分。
我的數據如下所示:
State ZIP
CA 85145-7045
PA 76913
我嘗試了幾種方法來解決這個問題。 我試過了:
data['Zip_1'],data['Zip_2'] = data['Zip'].str.split('-').str
我試過了:
data['Zip'] = data['Zip'].str.split('-', n=1, expand=True)
data['Zip'] = data['Zip'][0]
data['Zip_drop'] = data['Zip'][1]
我也嘗試過使用 lambda 函數。
但是它只返回空值。
我希望新列對於沒有連字符的郵政編碼和連字符后的數字(如果它包含連字符)返回 NaN。 但是,新列只是為每個觀察值填充 NaN
獲取包含連字符的所有郵政編碼的數據框,並將其放在新列中
data['Zip Hyphen'] = data['Zip'].str.find('-')
然后,從帶有 Zip 列的數據框中,刪除包含連字符的任何行
data = data.drop(data[data['Zip'].str.find('-')].index)
編輯:此代碼未經測試,但總體思路就在那里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.