pandas (2)

简介: pandas 数据类型赋值#Series赋值s = pd.Series([3,-5,7,4],index = ['a','b','c','d'])#DataFrame 赋值data = {'Country':['belgium','India','Brazil'], 'C...

pandas 数据类型

赋值

#Series赋值
s = pd.Series([3,-5,7,4],index = ['a','b','c','d'])
#DataFrame 赋值
data = {'Country':['belgium','India','Brazil'],
        'Capital':['Brussels','New Delhi','Brasilia'],
        'Population':[11190846,1303171035,207847528]}
df = pd.DataFrame(data,cloumns=['Country','Capital','Population'])

数据选择

#选择一个项
s['b']
#    -5
#选择多个
df[1:]

#选择第n行,如果已经定义了clonms,还可以直接跟 =['xx','xx']赋值新行

df.loc[n]

选择、布尔下标

By Position 坐标选择:

df.iloc([0],[0])
#    `Belgium`
df.iat([0],[0])
#    `Belgium`

By Label 标签选择:

df.loc([0],['country'])
df.at([0],['country'])

By Label/Position :

de.ix[2]
#     Country     Brazil
#    Capital        rasilia
#    Population    207847528
df.ix[:,'Capital']
#    0    Brussels
#    1    Delhi
#    2    Brasilia
df.ix[1,'Capital']
#    'New Delhi'

使用ix方法被提示如下:ix is deprecated
pic1

Boolean Indexing 布尔下标(筛选)

s[-(s>1)]
s[(s<-1)|(s>2)]
df[df['Population']>1200000000]

Dropping

s.drop(['a','c'])
df.drop('Country',axis=1)

Sort&Rank 排序

df.sort_index()
df.sort_values(by='Country')
df.rank()
## Retrieving Series/DataFrame Information
### Basic Information
```python
df.shape    # (rows,columns)
df.index    # Describe index
df.cloumns    # Describe DataFrame cloumns
df.info()    # Info on DataFrame
df.count()    # Number of non-NA values 默认输出每列的项数

Summary 概要

df.sum()            #sum of values
df.cumsum()            #cummulative sum of values 从上到下的累加,输出一个新的dataframe
df.min()/df.max()    #Minimum/maximum values
df.idxmin()/df.idxmax()    #Minimum/maximum index values
df.describe()        #Summary statistics 所有特征计算汇总统计
df.mean()            #Mean of values 平均值(所有int64数据的)
df.median()            #Median of values 中间值

Applying Functions 应用函数

f = lambda x : x*2
df.apply(f)
df.applymap(f)

df.apply()函数只输出 df*2,不改变df的值。此例中博主没发现df.applymap()df.apply()的区别。

Data Alignment 数据对齐

Internal Data Alignment 内部数据对齐

pandas DataFrame学习

I/O 文件读写

csv文件

pd.read_csv()
pd.to_csv()

Excel文件

pd.read_excel('path')
pd.to_excel('path',sheet_name='name')
#读取单个文件下不同sheets
xlsx = pd.ExcelFile('path')
df = pd.read_excel(xlsx,'sheetname')

SQL Query or Database Table

from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
pd.read_sql("SELECT * FROM my_table;",engine)
pd.read_sql_table('my_table',engine)
pd.read_sql_query("SELECT * FROM my_table;",engine)
#生成sql
pd.to_sql('myDf',engine)

参考

目录
相关文章
|
2月前
|
数据挖掘 数据处理 Python
pandas的快速使用
pandas的快速使用
26 6
|
3月前
|
Python
精通 Pandas:6~11
精通 Pandas:6~11
|
3月前
|
数据挖掘 大数据 索引
精通 Pandas:1~5
精通 Pandas:1~5
|
3月前
|
存储 JSON 数据格式
Pandas介绍
Pandas介绍
|
4月前
|
API 索引 Python
pandas
使用pandas过程中出现的问题
54 0
|
7月前
|
存储 JSON 数据格式
|
10月前
|
SQL 数据采集 存储
什么是pandas
什么是pandas
84 0
|
11月前
|
存储 分布式计算 大数据
Pandas 2.0来了~
Pandas 2.0来了~
|
11月前
|
数据挖掘 Python
pandas是什么
pandas是什么
|
机器学习/深度学习 关系型数据库 数据挖掘
Pandas 2.0 vs Polars:速度的全面对比
前几天的文章,我们已经简单的介绍过Pandas 和Polars的速度对比。刚刚发布的Pandas 2.0速度得到了显著的提升。但是本次测试发现NumPy数组上的一些基本操作仍然更快。并且Polars 0.17.0,也在上周发布,并且也提到了性能的改善,所以我们这里做一个更详细的关于速度方面的评测。
203 0
Pandas 2.0 vs Polars:速度的全面对比