[英]CSV File-Pandas dataFrame column separation
如果可能,按大寫拆分:
data = [{'Age atend of presidency': '65 years, 10 daysMar 4, 1797'},
{'Age atend of presidency': '65 years, 10 daysMar 4, 1797'}
,{'Age atend of presidency': '65 years, 10 daysMar 4, 1797'}]
df = pd.DataFrame(data)
df[['age1','end2']] = df['Age atend of presidency'].str.split("([A-Z][^A-Z]*)", expand=True).iloc[:, :-1]
print (df)
Age atend of presidency age1 end2
0 65 years, 10 daysMar 4, 1797 65 years, 10 days Mar 4, 1797
1 65 years, 10 daysMar 4, 1797 65 years, 10 days Mar 4, 1797
2 65 years, 10 daysMar 4, 1797 65 years, 10 days Mar 4, 1797
或者您可以按days
拆分:
df[['age1','end2']] = df['Age atend of presidency'].str.split("days", expand=True)
df['age1'] += 'days'
print (df)
Age atend of presidency age1 end2
0 65 years, 10 daysMar 4, 1797 65 years, 10 days Mar 4, 1797
1 65 years, 10 daysMar 4, 1797 65 years, 10 days Mar 4, 1797
2 65 years, 10 daysMar 4, 1797 65 years, 10 days Mar 4, 1797
或者:
df[['age1','a', 'end2']] = df['Age atend of presidency'].str.split("(days)", expand=True)
df['age1'] += df.pop('a')
如果是 STR,則可以使用 X.split(',')。 例如:
df['Age atend of presidency'].apply(lambda x: x.split(','))
如果不是STR
df['Age atend of presidency'].apply(lambda x: str(x).split(','))
或者
df['Age'] = df['Age atend of presidency'].apply(lambda x: x.split(',')[0])
df['days'] = df['Age atend of presidency'].apply(lambda x: x.split(',')[1])
df['date'] = df['Age atend of presidency'].apply(lambda x: x.split(',')[2])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.