Программно осмотрите .class файлы

Проверьте с помощью

df.groupby(df.index.date).apply(lambda x : pd.Series({'A':sum(x['A']*x['B'])/sum(x['B']),'C':(x['C']).mean()}))
                   A      C
2017-09-18  1.000018  250.0
2017-09-19  1.000030  300.0

Или давайте не будем использовать apply

t1=df.eval('A*B').groupby(df.index.date).sum()/df.groupby(df.index.date).B.sum()
t2=df.groupby(df.index.date).C.mean()

pd.concat([t1,t2],1)
                   0    C
2017-09-18  1.000018  250
2017-09-19  1.000030  300
12
задан hichris123 4 March 2014 в 21:31
поделиться

6 ответов

Я использовал BCEL и нахожу это действительно довольно неловким. ASM намного лучше. Это очень экстенсивно использует посетителей (который может немного сбивать с толку), и не создает объектную модель. Не создание объектной модели оказывается премией, поскольку любая модель, которую Вы действительно хотите создать, вряд ли будет похожа на литеральную интерпретацию всех данных.

12
ответ дан 2 December 2019 в 20:20
поделиться

Я использовал BCEL в прошлом, и это было довольно просто в использовании. Это было несколько лет назад, таким образом, может быть что-то лучше теперь.

Apache Джакарта BCEL

1
ответ дан 2 December 2019 в 20:20
поделиться

Я потрясен, что никто еще не упомянул ASM. Это - лучшая библиотека байт-кода, которую могут купить Ваши деньги. Ну, хорошо это свободно.

1
ответ дан 2 December 2019 в 20:20
поделиться

Из Вашего описания это кажется, что простое отражение было бы достаточно. Можно обнаружить всю статическую структуру класса, а также доступ к полям конкретного экземпляра.

Я только шел бы дальше к BCEL, при попытке перевести инструкции по методу. (И если это - то, что Вы пытаетесь автоматизировать, удачи!),

1
ответ дан 2 December 2019 в 20:20
поделиться

Я думаю, что javassist мог бы помочь Вам также.

http://www.jboss.org/javassist/

У меня никогда не было потребности использования его, но если бы Вы даете ему попытку, Вы сообщили бы нам свои комментарии об этом?

Хотя я думаю, что это больше для управления байт-кодом, чем .class контроль.

0
ответ дан 2 December 2019 в 20:20
поделиться

JAD является декомпилятором Java, который не предоставляет программный доступ. Это больше не легко доступно и вероятно не будет работать на более новые проекты с байт-кодами Java7.

1
ответ дан 2 December 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: