使用 split 展平列数据,然后将 df 与 Pandas 合并

Flattening column data with split then merging df with Pandas

使用names = df['Name and Location'].str.split(',', expand=True) 我能够在冒号等分隔符处拆分这些密集数据。

我一直在思考如何将数据重新组合成更平坦的记录。我试过:

pd.concat([df, names])

记录在“投诉 #”处结束,并从 日期: 开始,该日期在另一列中。

**Last_Name , First_Name**
City: City_Name
County: OUT_OF_STATE
Zip Code: 00000
License #: AA0000000
Complaint # AA00000000000

**Company:** Company_Name,_INC
City: City_Name
County: County_Name
Zip Code: 00000
Company: Company_Name LIC AA0000
City: City_Name
County: County_Name
Zip Code: 00000
License: string_or_int
Complaint # AA00000000000

**Last_Name**, First_Name
Company: Company_Name
City: City_Name
County: County_Name
Zip Code: 00000
License #: AA00000000000
Complaint # AA00000000000

理想情况下,每个“记录”都是平的,例如:

First Name Last Name Company City County Zip Code License Complaint Date The String Why the String 

Last_name_1 First_name_1 Company_Name_1 City_1 County_1 00001 AA000000 string_1 why_string_1

要在定界符处拆分,并创建新列并将其与现有 df 合并,请使用:

df = pd.concat((df, df['Column_to_Split'].str.split('String_to_Go:', expand=True)), axis=1, ignore_index=True)

可以使用任何定界符,包括空字符串。这里的关键是 expand = True 因为它创建了一个新列,这是目标。