Pandas数据框架中的字符串混合问题
在这篇文章中,我们将学习Pandas Dataframe中的字符串混合。混杂是指通过转换来清理任何混乱的东西。在技术上,我们可以说是将数据库中的数据转换为有用的形式。
步骤:
第1步:导入库。
import pandas as pd
import numpy as np
import re as re
第2步:创建数据框架。
现在创建一个字典并通过pd.DataFrame来创建一个Dataframe。
raw_data = {"first_name": ["Jason", "Molly", "Tina", "Jake", "Amy"],
"last_name": ["Miller", "Jacobson", "Ali", "Milner", "Cooze"],
"email": ["jas203@gmail.com", "momomolly@gmail.com", np.NAN,
"battler@milner.com", "Ames1234@yahoo.com"]}
df = pd.DataFrame(raw_data, columns=["first_name", "last_name", "email"])
print()
print(df)
第3步:应用不同的蒙皮操作。
首先,检查 “电子邮件 “功能中的字符串是否包含 “Gmail”。
print(df["email"].str.contains("gmail"))
现在我们要把电子邮件分成几个部分,使”@”之前的字符成为一个字符串,”. “之后和之前的字符成为一个字符串。最后,剩下的成为一个字符串。
pattern = "([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})"
print(df["email"].str.findall(pattern, flags=re.IGNORECASE))
以下是实现情况:
def ProjectPro_Ex_136():
print()
print('**How we can do string munging in Pandas**')
# loading libraries
import pandas as pd
import numpy as np
import re as re
# Creating dataframe
raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'],
'email': ['jas203@gmail.com', 'momomolly@gmail.com', np.NAN,
'battler@milner.com', 'Ames1234@yahoo.com']}
df = pd.DataFrame(raw_data, columns=['first_name', 'last_name', 'email'])
print()
print(df)
# Let us find Which string within the
# email column contains ‘gmail’
print()
print(df['email'].str.contains('gmail'))
# Create a daily expression pattern that
# breaks apart emails
pattern = '([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\\.([A-Z]{2,4})'
# Find everything in df.email that contains
# that pattern
print()
print(df['email'].str.findall(pattern, flags=re.IGNORECASE))
ProjectPro_Ex_136()
输出: