[英]Cannot convert object type to string; and then filter on that string; python pandas dataframe
[英]Python:Pandas - Object to string type conversion in dataframe
我正在嘗試使用 Pandas 在我的數據框中將對象轉換為字符串。 有以下數據:
particulars
NWCLG 545627 ASDASD KJKJKJ ASDASD
TGS/ASDWWR42045645010009 2897/SDFSDFGHGWEWER
dtype:object
在嘗試使用astype()[with str, |S, |S32, |S80] 類型或直接使用 str 函數將特定列從對象轉換為字符串時,它不會在字符串(保留對象)和str 方法中進行轉換[替換'/' with ' ']它說AttributeError: 'DataFrame' object has no attribute 'str'
使用熊貓 0.23.4
你可以讀取Excel的指定dtype
為str
:
df = pd.read_excel("Excelfile.xlsx", dtype=str)
然后在particulars
列中使用字符串替換,如下所示:
df['particulars'] = df[df['particulars'].str.replace('/','')]
請注意, df 分配也是 '[]' 括號中的數據框。
當您在程序中使用以下命令時,它會返回一個您嘗試分配給數據框列的字符串。 因此錯誤。
df['particulars'] = df['particulars'].str.replace('/',' ')
您可以使用:
df['particulars'] = df['particulars'].astype('|S')
或者:
df['particulars'] = df['particulars'].astype(str)
然后使用下面的,實際上str
屬性甚至在你的情況下也可以工作,只是你以錯誤的方式訪問它,你只能訪問它到列( Series
es):
df['particulars'] = df['particulars'].str.replace('/',' ')
那么現在:
print(df)
會得到想要的結果。
編輯:
我意識到你可以制作下面的整個代碼,因為object
代表str
:
df['particulars'] = df['particulars'].astype(str).str.replace('/',' ')
我正在嘗試使用pandas將對象轉換為數據框中的字符串。 具有以下數據:
particulars
NWCLG 545627 ASDASD KJKJKJ ASDASD
TGS/ASDWWR42045645010009 2897/SDFSDFGHGWEWER
dtype:object
嘗試使用astype()[使用str,| S,| S32,| S80]類型或直接使用str函數將明細列從對象轉換為字符串時,它不是在字符串(保留對象)中轉換,也不在用str方法轉換[替換'/'與'']表示AttributeError: 'DataFrame' object has no attribute 'str'
使用熊貓0.23.4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.