мы также можем использовать
(.*?\n)*?
для соответствия всем, включая новую строку без жадного
. Это сделает новую строку опцией
(.*?|\n)*?
Я запустил этот код на своей машине, и он отлично работал, хотя я использую Anaconda 3.6.4 и Pandas 0.22.0. Возможно, это проблема с версией. Это правильный выход?
выход:
d = dict()
d ={'A': 'Health Care', 'AA': 'Materials', 'B': 'Health Care', 'BB': 'Materials'}
data = pd.DataFrame(np.random.rand(100,4), index=range(0,100), columns=d.keys() )
data.groupby(d , axis = "columns").rank(axis = "columns", pct=True)
A AA B BB
0.5 1.0 1.0 0.5
1.0 0.5 0.5 1.0
0.5 0.5 1.0 1.0
0.5 0.5 1.0 1.0
0.5 1.0 1.0 0.5
1.0 0.5 0.5 1.0
1.0 1.0 0.5 0.5
0.5 1.0 1.0 0.5
0.5 0.5 1.0 1.0
1.0 1.0 0.5 0.5