To Do: Transformar em um nb tutorial para aula de Python

Recentemente, eu tenho jogado ao redor com Python e sua biblioteca de análise de dados - pandas, que é construído em outra biblioteca chamada NumPy. A maioria de vocês provavelmente já ouviu falar de Python (se não, então eu não sei o que há de errado com você. Chegar lá e fazer alguns amigos programador ou ler alguns blogs). Python tem sido na existência por um tempo (desde 1991), embora ele ganhou muita tração apenas recentemente. Um monte de startups são em Python. Grande coisa sobre Python é que você pode usá-lo como uma linguagem funcional ou linguagem OOP. Eu sou um cara mais funcional e prefiro escrever código simples. Além disso, estou em análise de dados ... ao contrário de ... digamos ... projetar GUIs feias. De qualquer forma, se você quiser fazer uma análise de dados com Python, você deve usar Pandas. Quer dizer que você pode usar outros métodos, mas, em seguida, você terá de enfrentar sérios problemas e, provavelmente, não ser bom em seu trabalho. Pandas é bastante agradável. Vindo de um fundo kdb, eu perdi vendo dados em formato tabular. Exibe dados pandas em dataframes (tabelas) e permite que você execute operações em colunas apenas como kdb. Vamos mergulhar em alguns exemplos: Primeiro, vamos ter alguns dados de amostra pronta em um arquivo CSV. Vou apenas usar q fazer isso. (Sim, eu entendo que é um pouco estranho de me mostrar-lhe como Pandas funciona através da geração de dados aleatórios utilizando q). q) t: ([] sym: 100 `IBM`MSFT`AAPL; preço:??? 100 200; tamanho: 100 300) q) t tamanho preço sym --------------- IBM 51 10 MSFT 4 257 IBM 46 73 IBM 122 90 IBM 99 171 AAPL 52 90 q) salvar `t.csv : T.csv Agora, nós podemos carregar estes dados em Python utilizando Pandas. Uma coisa que eu acho irritante é a necessidade de importar bibliotecas. Eu tipo de obtê-lo, mas é algo que eu não me acostumei com tudo o que ainda desde que eu precisava fazer foi construído em kdb. No meu exemplo, eu estarei importar a biblioteca NumPy e Pandas. numpy importar como np pandas de importação como pd Agora que temos todas as ferramentas necessárias à nossa disposição, vamos dar este menino mau para um passeio. df = pd.read_csv ('/ Users / himanshugupta / q / m32 / t.csv') read_csv é um método / função para ... espere por isto ... lendo um arquivo cvs. Ele irá atribuir uma tabela para nossa variável, df. Depois de ter os dados em uma tabela, você pode começar a analisá-la. df [['sym', 'preço']]      preço sym 0 IBM 51 1 MSFT 4 2 IBM 46 3 IBM 122 4 IBM 99 5 AAPL 52 6 AAPL 138 7 IBM 198 Nós podemos filtrá-la. df [df ['preço']> 100]      tamanho preço sym 3 IBM 122 90 6 AAPL 138 221 7 IBM 198 182 8 MSFT 168 68 9 MSFT 146 45 10 AAPL 152 233 11 AAPL 179 64 Podemos aplicar um lambda para uma coluna! No exemplo abaixo, nós adicionamos 100 a cada entrada tamanho. . df ['size'] map (lambda x: x + 100) 0 110 1 357 2 173 3 190 4 271 5 190 Aqui está uma maneira rápida de obter um resumo de seus dados: df.describe ()             Tamanho Preço contar 100.000000 100.000000 significa 93.480000 151.010000 std 60.551753 84.668396 min 0.000000 1.000000 25% 43,750000 76,500000 50% 85,500000 150,500000 75% 147,250000 220,250000 max 198.000000 298.000000 Agora, vamos a média por sym. agg = df.groupby (df ['sym']) agg ['preço']. mean () sym AAPL 111.866667 IBM 99.710526 MSFT 68.843750 Chega com número, vamos fazer alguns gráficos. Em primeiro lugar, precisamos importar outra biblioteca: matplotlib.pyplot importação como plt Gráficos de coluna de preços: df ['preço']. trama () gráfico de preços Gráficos de preço e tamanho da coluna: plt.plot (df ['preço', 'size']) preço e tamanho

Introdução a Análise de dados com Python e Pandas


Fonte: http://www.enlistq.com/introducing-data-analysis-with-python-and-pandas/


In [ ]:


Original

Fonte: enlist q — understanding tools for analyzing data Home Challenges Resources Archives About Contact Introducing data analysis with Python and Pandas Comment Recently, I have been playing around with Python and its data analysis library – Pandas, which is built on another library called NumPy. Most of you have probably heard of Python (if not then I don’t know what’s wrong with you. Get out there and make some programmer friends or read some blogs). Python has been in existence for a while (since 1991) though it has gained a lot of traction just recently. A lot of startups are into Python. Great thing about Python is that you can use it as a functional language or OOP language. I am more of a functional guy and prefer writing straightforward code. Moreover, I am into data analysis…as opposed to…lets say…designing ugly GUIs. Anyways, if you want to do data analysis with Python, you must use Pandas. I mean you could use other methods but then you will face serious issues and probably not be good at your job. Pandas is quite pleasant. Coming from a kdb background, I missed seeing data in tabular format. Pandas displays data in dataframes (tables) and allows you to perform operations on columns just like kdb. Lets dive into some examples: First, lets have some sample data ready in a csv. I will just use q to do that. (Yes, I get it that it’s a little weird of me to show you how Pandas works by generating random data using q). q)t:([]sym:100?`IBM`MSFT`AAPL;price:100?200;size:100?300) q)t sym price size --------------- IBM 51 10 MSFT 4 257 IBM 46 73 IBM 122 90 IBM 99 171 AAPL 52 90 q)save `t.csv :t.csv Now, we can load this data in Python using Pandas. One thing I find annoying is the need to import libraries. I sort of get it but it’s something I haven’t gotten used to yet since whatever I needed to do was built into kdb. In my example, I will be importing the NumPy and Pandas library. import numpy as np import pandas as pd Now that we have all the necessary tools at our disposal, lets take this bad boy for a ride. df = pd.read_csv('/Users/himanshugupta/q/m32/t.csv') read_csv is a method/function for…wait for it…reading a cvs file. It will assign a table to our variable, df. Once you have the data in a table, you can start analyzing it. df[['sym','price']] sym price 0 IBM 51 1 MSFT 4 2 IBM 46 3 IBM 122 4 IBM 99 5 AAPL 52 6 AAPL 138 7 IBM 198 We can filter it. df[df['price']>100] sym price size 3 IBM 122 90 6 AAPL 138 221 7 IBM 198 182 8 MSFT 168 68 9 MSFT 146 45 10 AAPL 152 233 11 AAPL 179 64 We can apply a lambda to a column! In the example below, we add 100 to each size entry. df['size'].map(lambda x: x+100) 0 110 1 357 2 173 3 190 4 271 5 190 Here is a quick way of getting a summary of your data: df.describe() price size count 100.000000 100.000000 mean 93.480000 151.010000 std 60.551753 84.668396 min 0.000000 1.000000 25% 43.750000 76.500000 50% 85.500000 150.500000 75% 147.250000 220.250000 max 198.000000 298.000000 Now, lets get the mean by sym. agg = df.groupby(df['sym']) agg['price'].mean() sym AAPL 111.866667 IBM 99.710526 MSFT 68.843750 Enough with number, lets do some graphing. First, we need to import another library: import matplotlib.pyplot as plt Graphing price column: df['price'].plot() price graph Graphing both price and size column: plt.plot(df['price','size']) price and size There is so much more that you can do with pandas. I will try to cover some more in-depth stuff as I learn in the next few weeks. At this point, I would like to acknowledge that my ex-boss (you know who you are) would definitely be shaking his head in disappointment while reading this post. I am not saying pandas is better than q/kdb+ but it is interesting.

In [ ]: