В случае, если вы ищете способ изменить размер фигуры в Pandas, вы можете сделать, например ::
df['some_column'].plot(figsize=(10, 5))
, где df
- это кадр данных Pandas. Если вы хотите изменить настройки по умолчанию, вы можете сделать следующее:
import matplotlib
matplotlib.rc('figure', figsize=(10, 5))
Как-то так?
array =[' HHHHHHH HHHHHHHHHHH HHHHHHHHHHHHHHHHHHH ',
' E E EEE ',
' TT ',
' CC CCCC']
result = []
for pos in zip(*array): # create tuples of chars from the same index in all strings
char = ''.join(pos).replace(' ', '') # remove all space chars
if char: # if there's anything left (ie. skip the char at index 0)
result.append(char[-1]) # then append the char from the array closest to the bottom
result = ''.join(result) # convert back to string
print result
, который печатает
EHHHHHHHEHHHHHHHHHHHTTCCEEEHHHHHHHHHHHHHHHHHHHCCCC
Вот простое решение:
>>> x
array([' HHHHHHH HHHHHHHHHHH HHHHHHHHHHHHHHHHHHH ',
' E E EEE ',
' TT ',
' CC CCCC'],
dtype='<U51')
>>> x.view('u4').reshape(len(x), -1).max(0).view(x.dtype).item(0).strip()
'EHHHHHHHEHHHHHHHHHHHTTCCEEEHHHHHHHHHHHHHHHHHHHCCCC'
Время:
f_pp 5.941 us
f_tb 27.473 us
f_ji 21.265 us
Код для получения времени:
import numpy as np
from timeit import timeit
x = np.array([' HHHHHHH HHHHHHHHHHH HHHHHHHHHHHHHHHHHHH ',
' E E EEE ',
' TT ',
' CC CCCC'])
def f_pp():
return x.view('u4').reshape(len(x), -1).max(0).view(x.dtype).item(0).strip()
def f_tb():
result = []
for pos in zip(*x): # create tuples of chars from the same index in all string
char = ''.join(pos).replace(' ', '') # remove all space chars
if char: # if there's anything left (ie. skip the char at index 0)
result.append(char[-1]) # then append the char from the array closest to the bottom
return ''.join(result) # convert back to string
def f_ji():
return ''.join(max(y) for y in zip(*x)).strip()
for f in (f_pp, f_tb, f_ji):
print(f.__name__, f'{timeit(f, number=1000) * 1000:>6.3f} us')
Быстрый способ - использовать zip
для обработки символ за символом и просто взять максимум в каждой позиции;
arr = [' HHHHHHH HHHHHHHHHHH HHHHHHHHHHHHHHHHHHH ',
' E E EEE ',
' TT ',
' CC CCCC']
''.join(max(x) for x in zip(*arr))
' EHHHHHHHEHHHHHHHHHHHTTCCEEEHHHHHHHHHHHHHHHHHHHCCCC'