Вы можете, но это только для ознакомления и не рекомендуется
df.assign(fakekey='').set_index(['alfa','fakekey'])
beta ganma
alfa fakekey
1 4 5
3 17
Несколько лет назад, мой друг задал мне тот же самый вопрос: "Как я изучаю C?" Я сказал ему писать драйвер устройства.
Вообразите мое удивление, когда он на самом деле сделал это.
Несколько вне темы, но так как Вы упоминаете, что Ваше образование находится в Математике, и Статистика Ваш должна попробовать Ваши силы в Euler Проекта. Существует более чем 200 связанных с математикой/статистикой проблем, доступных для решения. Кроме того, после того как Вы находите решение, можно просмотреть проблемный форум, чтобы видеть, как другие решили то же решение. Очень удобный для наблюдения, как другие решают проблему... и забаву загрузиться!
У меня есть подобные предпосылки к Вам. Я использую Python, чтобы сделать много математики и анализа данных для моего исследования доктора философии, и также для веб-программирования. Различие - то, что я изучил C сначала, путь назад в 90-х.
Если бы можно записать расширения C для Python, то я сказал бы, что у Вас есть довольно хороший дескриптор на том, для чего C хорош. По-моему, C сегодня подходит лучше всего для двух вещей:
Конечно, много высокоуровневых приложений также записано в C, особенно в соответствии с Linux, который я нашел, но в значительной степени они действительно не записаны в "скелетах" C K&R или стандартной библиотеки. Скорее они используют платформы как Бойкий, или wxWindows или Apache Портативное Время выполнения или другие, который все помещенное использование некоторая объектно-ориентированная структура или конвенции и часто краткий обзор далеко некоторые основные детали управления памятью C.
Таким образом, я думаю, что создание Ваших навыков C, полезных в сегодняшней среде языка программирования, в основном о выполнении работы низкого уровня или знакомиться с одной из этих высокоуровневых платформ. Мне лично нравятся библиотеки Glib и GTK много, так как они используют очень динамическую объектно-ориентированную модель (много как Python), не препятствуя тому, чтобы Вы использовали функции низкого уровня C.
Вы могли записать интерпретатор для простого языка. Используйте гибкий провод/бизона. Сделайте это многопоточным и т.д. Интересно и имеет тенденцию осуществлять указатели много. Я записал что-то как этот для школьного проекта: простой основанный на стеке язык с двумя различными сборщиками "мусора", TwoSpace и параллельной версией. Это было забавой. И выполнимый как самая первая c программа, больше, чем "привет, мир"!
Найдите или определите проблему в своей ежедневной работе и вынудите себя решить ее с помощью C вместо Python. Это вынудит Вас выучить язык при сохранении проблемы относящейся для того, что Вы обычно делаете.