根据条件在熊猫数据框列中的特殊字符上拆分字符串

康纳·莱维特

我正在尝试在熊猫数据框中的地址栏中建立一致性。我有一个具有两种格式的ZipCode列:1)87301 2)87301-1234。并非每一行都有连字符,因此当出现连字符时,我需要进行拆分。

我的数据如下所示:

State  ZIP
CA     85145-7045
PA     76913   

我已经尝试了几种解决此问题的方法。我试过了:

data['Zip_1'],data['Zip_2'] = data['Zip'].str.split('-').str

我试过了:

data['Zip'] = data['Zip'].str.split('-', n=1, expand=True)
data['Zip'] = data['Zip'][0]
data['Zip_drop'] = data['Zip'][1]

我也尝试过使用lambda函数。

但是,它仅返回空值。

我希望新列返回不带连字符的邮政编码的NaN以及连字符后的数字(如果确实包含连字符)。但是,新列只会为每次观察填充NaN

尼科斯·帕帕斯(Nikos Papas)

您可以通过将“ replace ”与正则表达式结合使用来实现

第1步

example_df = pd.DataFrame({'State': ['CA', 'PA'],
                           'ZIP': ['85145-7045', '76913'] })

example_df

在此处输入图片说明

第2步

# Keep only the numbers before the hyphen (if any).
example_df = example_df.replace('\-\d*', '', regex=True)
example_df

输出

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据条件熊猫数据框列删除字符串

根据条件替换熊猫数据框列中的部分整数或字符串

根据条件熊猫过滤数据帧(字符串拆分)

在熊猫数据框中拆分字符串

大熊猫:根据某些列的字符串值将数据框拆分为单独的数据框

拆分字符串并存储到熊猫数据框中的新列中

在熊猫数据框列中的元组中拆分字符串

如何根据熊猫数据框中的字符串值使用 where 条件?

R 通过特殊字符“+”拆分字符串并根据条件对拆分字符串进行分类

根据指定列中的字符串值条目是否包含子字符串来分隔熊猫数据框

根据名称包含列表中的字符串选择熊猫数据框列

根据熊猫数据框中的另一列获取子字符串

R:在数据框列中拆分字符串

如何有条件地替换熊猫数据框列中的子字符串?

如何根据条件在熊猫数据框上应用字符串拆分方法?

根据数据框中的子字符串对列求和

根据列中的字符串过滤数据框

熊猫数据框:选择列中的列表项,然后在项目上转换字符串

根据另一列中的字符串片段选择熊猫数据框列中的数据

熊猫:根据从旧数据框中的字符串中提取的数据创建新的数据框

熊猫数据框通过查找子字符串替换多列中的字符串

如何更新字符串的熊猫数据框列中的子字符串

在熊猫数据框中拆分字符串中的第 n 个元素

根据字符位置在列中拆分字符串

根据完全匹配的字符串过滤熊猫数据框

如何根据给定的条件在Java中拆分字符串?

解析字符串作为过滤熊猫数据框的条件

将字符串转换为熊猫数据框的条件

如何根据 Pandas 数据框中以逗号分隔的每个值的长度拆分字符串?