【发布时间】:2018-09-24 04:55:26
【问题描述】:
我有一个包含所有列中的关键字和值的数据框。请参见下面的示例。
我想将正则表达式应用于所有列。所以我使用 for 循环并应用正则表达式:
for i in range (1,maxExtended_Keywords):
temp = 'extdkey_' + str(i)
Extended_Keywords[temp] = Extended_Keywords[temp].str.extract(":(.*)",expand=True)
我得到了想要的最终结果。那里没有问题。
但是,只是古玩有一种 pythonic 方式将正则表达式应用于整个数据帧,而不是使用 for 循环并应用于列。
谢谢,
【问题讨论】:
-
piRSqured 的回答非常好。一般来说,我认为循环遍历 Dataframe columns 没有问题。不过,您可能希望将循环替换为
for c in Extended_Keywords.columns。 -
更多 @AmiTavory 的观点,通常,数据帧没有非常多的列,我已经看到应用超过 10 列的情况比为了一些整体矢量化解决方案的目的而重新整形更快。跨度>