删除列中的“”

时间:2018-08-19 15:21:20

标签: python pandas

我有一个DF,如下所示

DF =
Index   R
0       A
1       "B,C"
2       D
3       "E,F"

我要从值中删除所有“”:

DF_New =
Index   R
0       A
1       B,C
2       D
3       E,F

使用join(literal_eval(x))或其他构造无效。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用.str访问器:

null

这应该删除该列中的所有文字双引号。

请注意,每个结果将是一个static void Main() { string data = "DisplayName=[s9dFSQ]Height=[rPBM7]User=[5cY]Date=[KJn7Zzd1f]"; Console.WriteLine(RemoveBracketsContent(data)); // prints DisplayName=Height=User=Date= } static string RemoveBracketsContent(string data) { string result = string.Empty; bool brackedStarted = false; for (int i = 0; i < data.Length; i++) { if (data[i].Equals('[')) { brackedStarted = true; continue; } else if (data[i].Equals(']')) { brackedStarted = false; continue; } if (brackedStarted) { continue; } result += data[i]; } return result; } ,例如>>> df['R'].str.replace('"', '') 0 A 1 B,C 2 D 3 E,F Name: R, dtype: object 。如果要将每个转换为列表容器,请使用:

str

答案 1 :(得分:0)

您可以使用:

>>> from scipy.stats import chisquare
>>> chisquare(list(samples.values()))
Power_divergenceResult(statistic=724.682234, pvalue=0.3825060783237031)

例如,

DF.loc[DF['R'].str.startswith('"'), 'R'] = DF['R'].str[1:]
DF.loc[DF['R'].str.endswith('"'), 'R'] = DF['R'].str[:-1]

请注意,这只会替换出现在字符串开头或结尾而不是中间的双引号。