[英]How to get Dataframe with associated Zip codes from Lat and Long in python?
[英]Python - Loading Zip Codes into a DataFrame as Strings?
我正在使用Pandas加載包含郵政編碼的Excel電子表格(例如32771)。 郵政編碼在電子表格中存儲為5位數字符串。 使用命令將它們拉入DataFrame時...
xls = pd.ExcelFile("5-Digit-Zip-Codes.xlsx")
dfz = xls.parse('Zip Codes')
他們被轉換成數字。 所以'00501'變成了501。
所以我的問題是,我該怎么做:
一種。 加載DataFrame並保存存儲在Excel文件中的郵政編碼的字符串類型?
灣 將DataFrame中的數字轉換為五位數字符串,例如“501”變為“00501”?
作為解決方法,您可以使用Series.str.zfill
將int
轉換為長度為5的0填充字符串:
df['zipcode'] = df['zipcode'].astype(str).str.zfill(5)
演示:
import pandas as pd
df = pd.DataFrame({'zipcode':['00501']})
df.to_excel('/tmp/out.xlsx')
xl = pd.ExcelFile('/tmp/out.xlsx')
df = xl.parse('Sheet1')
df['zipcode'] = df['zipcode'].astype(str).str.zfill(5)
print(df)
產量
zipcode
0 00501
str(my_zip).zfill(5)
要么
print("{0:>05s}".format(str(my_zip)))
是許多方法中的兩個
您可以使用自定義轉換器避免使用panda的類型推斷,例如,如果'zipcode'
是帶有zipcodes的列的標題:
dfz = xls.parse('Zip Codes', converters={'zipcode': lambda x:x})
這可能是一個錯誤,因為該列最初是字符串編碼的, 這里提出了一個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.