我正在做两件事。
1)过滤熊猫中的数据框
2)在过滤后的数据框中的特定列中清除unicode文本。

import pandas as pd
import probablepeople
from unidecode import unidecode
import re

#read data
df1 = pd.read_csv("H:\\data.csv")
#filter
df1=df1[(df1.gender=="female")]
#reset index because otherwise indexes will be as per original dataframe
df1=df1.reset_index()


现在我正在尝试清除地址栏中的unicode文本

#clean unicode text
for i in range(10):
    df1.loc[i][16] = re.sub(r"[^a-zA-Z.,' ]",r' ',df1.address[i])


但是,我无法这样做,以下是我遇到的错误。

c:\python27\lib\site-packages\ipykernel\__main__.py:4: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

最佳答案

我认为您可以使用str.replace

df1=df1[df1.gender=="female"]
#reset index with parameter drop if need new monotonic index (0,1,2,...)
df1=df1.reset_index(drop=True)

df1.address = df1.address.str.replace(r"[^a-zA-Z.,' ]",r' ')

关于python - 无法将干净的unicode文本重新插入 Pandas 的DataFrame中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41240005/

10-08 20:47