我有一个 Dataframe ,其中一列包含日期和时间,我想把每一天和时间放在各自的列中。
我已经把一个'$'在每一天要么分裂或使用它把它在其各自的列。
import pandas as pd
data = [{'timings' : 'Friday 10 am - 6:30 pm$Saturday 10am-6:30pm$Sunday Closed$Monday 10am-6:30pm$Tuesday 10am-6:30pm$Wednesday 10am-6:30pm$Thursday 10am-6:30pm',
'monday':'','tuesday':'','wednesday':'','thursday':'','friday':'','saturday':'','sunday':''
}]
df = pd.DataFrame.from_dict(data)
例如:数据包含df ['timing'] =“星期五上午10点,星期六下午6:30”,则在df ['friday']中= '上午10点'和df ['sunday'] = '下午6:30'。
我不知道怎么用语言表达。
请我解决这个问题。
2条答案
按热度按时间bfrts1fy1#
对字典列表使用嵌套列表解析,然后传递给
DataFrame
构造函数:vvppvyoh2#
您可以使用
str.extractall
提取日期名称和时间,然后重新调整DataFrame的形状:输出量:
如果要保持原始的日期顺序:
输出量:
基于自定义顺序排序的替代方法(此处为星期五优先):