2024-06-16 10:49:30 发布
网友
我有一个数据帧,如下所示:
我想合并dd2和dd1列,mm1和mm2列yyyy1和yyyy2列,依此类推。如果dd1中有值,则dd2中没有值。有没有人能给我个建议?你知道吗
最后我用熊猫.Series.str.extract('正则表达式')
您可以使用^{}:
d = {'mm':df.columns[df.columns.str.startswith('mm')], 'dd':df.columns[df.columns.str.startswith('dd')], 'yyyy':df.columns[df.columns.str.startswith('yyyy')]} df = pd.lreshape(df, d)
或^{}:
df = pd.wide_to_long(df.reset_index(),stubnames=['mm','dd','yyyy'], i=['index'], j='DROPME') .dropna(how='all') .reset_index(drop=True)
或者将带有数字的文本提取到Multiindex,然后^{}:
Multiindex
a = df.columns.to_series().str.extract('(dd|mm|yyyy)(\d+)', expand=True).values.tolist() df.columns = pd.MultiIndex.from_tuples(a) df = df.stack().reset_index(drop=True)
您可以使用^{} :
或^{} :
或者将带有数字的文本提取到} :
Multiindex
,然后^{相关问题 更多 >
编程相关推荐