簡體   English   中英

使用python清理文本數據

[英]cleaning text data using python

我正在用示例學習python。 也許我必須學習數據結構以完全內部化這些功能,但是我希望有人在此階段可以為我提供幫助。

現在,我正在清理熊貓數據框堆積的文本數據。

我得到了以下結果,我想做的只是為每個拆分文本取最后兩個元素。

[['Australian Centre for Ancient DNA',
  ' School of Biological Sciences',
  ' University of Adelaide',
  ' Adelaide',
  ' South Australia 5005',
  ' Australia'],
 ['Department of Ecology and Evolutionary Biology',
  ' Ramaley Biology',
  ' University of Colorado',
  ' Boulder',
  ' CO 80309',
  ' USA']]

所以,我的審判就像

df["zip"] = df["Af_split_split"]
i = 0
j = 0 
df.iloc[i,7][j] = df.iloc[i,6][j][len(df.iloc[i,6][j])-2:len(df.iloc[i,6][j])-1]

但是,當我嘗試時,數據框中另一列中的元素也已更改。 (請參閱,Af_split,Af_split_split,zip的第一行具有相同的值)

我該如何解決這個問題?

在此處輸入圖片說明

如果我正確地理解了您的問題,那么從您所描述的症狀來看,您的問題就是經典的問題:您需要復制列表並修改副本,而無需修改原始副本。 已經在堆棧溢出問題上得到了解答,請參見此處: 如何克隆或復制列表?

對於您的特定示例,解決方案是將您分配給df [“ zip”]的行修改為此:

df["zip"] = df["Af_split_split"][:]

沒有數字的切片運算符將創建列表的新副本(而不是創建指針),以便對該副本的修改不會影響原始副本。

暫無
暫無

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

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