美文网首页
10 minutes to pandas

10 minutes to pandas

作者: 沙漠狼神 | 来源:发表于2020-02-16 21:23 被阅读0次

This is a short introduction to pandas, geared mainly for new users。
Customarily,we import as follows:
In [1]: import numpy as np
In [2]: import pandas as pd
Object creation
Creating a Series by passing a list of values, letting pandas create a default integer index
s = pd.Series([1, 3, 5, np.nan, 6, 8])
Creating a DataFrame by passing a NumPy array, with a datetime index and labeled columns
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
index
columns
Creating a DataFrame by passing a dict of objects that can be converted to series-like.
Viewing data
Here is how to view the top and bottom rows of the frame:
df.head()
df.tail(3)
df.index
df.columns
df.describe()
df.T
Sorting by an axis
df.sort_index(axis=1, ascending=False)
df.sort_values(by='B')
Selection
While standard Python / Numpy expressions for selecting and setting are intuitive 直观的 and come in handy for interactive 互动的 work, for production code, we recommend the optimized pandas data access methods, .at, .iat, .loc and .iloc.
Getting
Selecting a single column, which yields a Series, equivalent 等效的 to df.A:df['A']
Selecting via [], which slices the rows. 切片
df[0:3]
df['20130102':'20130104']
Selection by label
df.loc[dates[0]]
df.loc[:, ['A', 'B']]
df.loc['20130102':'20130104', ['A', 'B']]
df.loc['20130102', ['A', 'B']]
df.loc[dates[0], 'A']
df.at[dates[0], 'A']
Selection by position
df.iloc[3]
df.iloc[3:5, 0:2]
df.iloc[[1, 2, 4], [0, 2]]
df.iloc[1:3, :]
df.iloc[:, 1:3]
df.iloc[1, 1]
df.iat[1, 1]
Boolean indexing
df[df['A'] > 0]
df[df > 0]
df2[df2['E'].isin(['two', 'four'])]
Setting
Setting a new column automatically aligns the data by the indexes.
Setting values by label:
Setting values by position:
Setting by assigning with a NumPy array:
Missing data
pandas primarily uses the value np.nan to represent missing data. It is by default not included in computations
Reindexing allows you to change/add/delete the index on a specified axis. This returns a copy of the data.
To drop any rows that have missing data.
df1.dropna(how='any')
Filling missing data.
df1.fillna(value=5)
To get the boolean mask where values are nan.
pd.isna(df1)
Operations
Stats
Operations in general exclude missing data.
df.mean()
Apply
df.apply(np.cumsum)
df.apply(lambda x: x.max() - x.min())
Histogramming
s.value_counts()
String Methods
s.str.lower()
Merge
Concatenating pandas objects together with concat()
pd.concat(df1,df2)
pd.merge(left, right, on='key')
Grouping
By“group by” we are referring to a process involving one or more of the followingsteps:
Splitting the data into groups based on some criteria
Applying a function to each group independently
Combining the results into a data structure
df.groupby('A').sum()
df.groupby(['A', 'B']).sum()
Reshaping
The stack() method “compresses” a level in the DataFrame’s columns.
With a “stacked” DataFrame or Series (having a MultiIndex as the index), the inverse operation of stack() is unstack(), which by default unstacks the last level
stacked.unstack()
stacked.unstack(1)
Pivot tables
pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'])
Time series
rng = pd.date_range('1/1/2012', periods=100, freq='S')
ts_utc = ts.tz_localize('UTC')
rng = pd.date_range('1/1/2012', periods=5, freq='M')
ps = ts.to_period()
ps.to_timestamp()
Categoricals
df["grade"]=df["raw_grade"].astype("category")
df.groupby("grade").size()
Plotting
We use the standard convention for referencing the matplotlib API
import matplotlib.pyplot as plt
plt.close('all')
On a DataFrame, the plot() method is a convenience to plot all of the columns with labels
plt.figure()
df.plot()
Getting data in/out
CSV
Writing to a csv file.
df.to_csv('foo.csv')
Reading from a csv file.
pd.read_csv('foo.csv')
HDF5
df.to_hdf('foo.h5', 'df')
pd.read_hdf('foo.h5', 'df')
Excel
df.to_excel('foo.xlsx', sheet_name='Sheet1')
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']

相关文章

  • pandas

    10 minutes to pandas 详细参考 http://pandas.pydata.org/pandas...

  • 10 Minutes to Pandas

    转载请在文章起始处注明出处,谢谢。 jupyter notebook 保存的md文件用markdownpad打开后...

  • 10 minutes to pandas

    This is a short introduction to pandas, geared mainly for...

  • pandas快速入门

    pandas快速入门 参考10 Minutes to pandas 目录 创建对象 数据视图 数据选取 数据缺失的...

  • 10分钟入门Pandas

    参考: 10 Minutes to pandas 安装 支持的python版本: 2.7, 3.5, 3.6 检查...

  • 十分钟快速入门pandas

    译自10 Minutes to pandas pandas是一个python库,它提供了一些快速,灵活而且富于表现...

  • 十分钟搞定pandas

    本文是对pandas官方网站上《10 Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是...

  • 10 Minutes to pandas入门官方文档

  • 模拟

    (65minutes) Part Ⅰ Dialogue Completion(10minutes,10points...

  • 前十分钟

    First 10 minutes Objective: To understand that the 10 fir...

网友评论

      本文标题:10 minutes to pandas

      本文链接:https://www.haomeiwen.com/subject/ghomfhtx.html