whatsapp安卓手機版

WhatsApp网页版如果您在公共电脑上使用WhatsApp网页版,建议使用浏览器的隐身模式。这样可以防止您的聊天记录和登录信息被保存在电脑上,保护您的隐私安全。

whatsapp安卓手機版 whatsapp網頁版營銷軟件

Pandas 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。(推荐学习:Python视频教程) Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。数据结构:Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。Time- Series:以时间为索引的Series。DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。Panel :三维的数组,可以理解为DataFrame的容器。Pandas 有两种自己独有的基本数据结构。读者应该注意的是,它固然有着两种数据结构,因为它依然是 Python 的一个库,所以,Python 中有的数据类型在这里依然适用,也同样还可以使用类自己定义数据类型。只不过,Pandas 里面又定义了两种数据类型:Series 和 DataFrame,它们让数据操作更简单了。因为pandas是python的第三方库所以使用前需要安装一下,直接使用pip install pandas 就会自动安装pandas以及相关组件导入pandas模块并使用别名,以及导入Series模块,以下使用基于本次导入。from pandas import Seriesimport pandas as pd更多Python相关技术文章,请访问Python教程栏目进行学习!

whatsapp安卓手機版 whatsapp網頁版營銷軟件

19.1安装Anaconda
Anaconda是Python的一个开源发行版本,它预装了丰富的第三方库,而且主要面向科学计算和数据分析,使用起来要比原版的Python更省时省力。
Anaconda官方下载网址为:https://www.continuum.io/downloads。下载和安装的方法很简单,若有问题可以在网上搜索相关内容学习解决。
安装Anaconda之后,就会发现在Anaconda目录下同时安装了Jupyter Notebook、Spyder等工具,我们接下来主要使用Spyder进行开发。关于Spyder的使用方法非常简单,大家也可以去网上搜索学习。
虽然Anaconda已经预装了很多常用的包,但有时我们也需要自己安装一些包。可以在开始菜单中选择“Anaconda Anaconda Prompt”命令,在命令行输入conda install( 代表包名)即可安装,也可以输入pip install。
19.2数据分析包Pandas
Pandas是Python的一个数据分析包,Anaconda安装时已经附带安装了Pandas包。
Pandas数据结构有三种:Series(一维数组)、DataFrame(二维数组)和Panel(三维数组),其中最常用的是前两种数据结构。
19.2.1 Series
Series(序列)用于存储一行或一列数据,以及与之相关的索引的集合。
语法格式如下:
Series([数据1,数据2,......], index=[索引1,索引2,......])
例:
from pandas import Series
s=Series(['张三','李四','王五'],index=[1,2,3])
print(s)
输出结果如下:
1 张三
2 李四
3 王五
dtype: object
上面建立序列时指定了索引,若不指定,则默认的索引值从0开始。如下:
s=Series(['张三','李四','王五'])
输出结果为:
0 张三
1 李四
2 王五
dtype: object
索引值也可以为字符串。如下:
from pandas import Series
s=Series(['张三','李四','王五'],index=['A','B','C'])
print(s)
输出结果为:
A 张三
B 李四
C 王五
dtype: object
1、访问序列
(1)可以通过索引访问序列,如:
from pandas import Series
s=Series(['张三','李四','王五'])
print(s)
print(s[0])
print(s[1:])
运行结果如下:
0 张三
1 李四
2 王五
dtype: object #print(s)输出
张三 #print(s[0])输出
1 李四
2 王五
dtype: object #print(s[1:])输出
(2)通过值获取索引值
from pandas import Series
s=Series(['张三','李四','王五'],index=['A','B','C'])
print(s.index[s.values=='李四'])
运行结果:
Index(['B'], dtype='object')
(3)判断值是否存在
from pandas import Series
s=Series(['张三','李四','王五'],index=['A','B','C'])
f='李四' in s.values
print(f)
运行结果:
True
(4)定位获取
from pandas import Series
s=Series(['张三','李四','王五','孙六'],index=['A','B','C','D'])
print(s[[0,2,1]])
运行结果:
A 张三
C 王五
B 李四
dtype: object
2、修改序列
(1)追加序列,如:
from pandas import Series
s=Series(['张三','李四','王五'],index=['A','B','C'])
s1=Series(['孙六'],index=['D'])
s=s.append(s1)
print(s)
运行结果:
A 张三
B 李四
C 王五
D 孙六
dtype: object
(2)修改序列的值
from pandas import Series
s=Series(['张三','李四','王五','孙六'],index=['A','B','C','D'])
s[1]='李飞'
print(s)
运行结果:
A 张三
B 李飞
C 王五
D 孙六
dtype: object
不知道索引,仅知道要修改的值,也可通过值查找到索引后,再修改序列的值。如:
s[s.index[s.values=='李四']]='李飞'
这样也可以将“李四”修改为“李飞。
(3)修改索引
from pandas import Series
s=Series(['张三','李四','王五','孙六'],index=['A','B','C','D'])
s.index=[0,1,2,3]
print(s)
运行结果:
0 张三
1 李四
2 王五
3 孙六
dtype: object
(4)删除元素
from pandas import Series
s=Series(['张三','李四','王五','孙六'],index=['A','B','C','D'])
s=s.drop('A')
print(s)
运行结果:
B 李四
C 王五
D 孙六
dtype: object
(5)重新排序
可以按照索引排序,使用sort_index(ascending=True)方法对index进行排序操作。
from pandas import Series
s=Series(['张三','李四','王五','孙六'],index=['A','B','C','D'])
s=s.sort_index(ascending=False) # ascending=False表示按降序排列
print(s)
运行结果:
D 孙六
C 王五
B 李四
A 张三
dtype: object
(6)重置索引
重置索引可以使用reindex()。如果index列表中的元素多于序列的值,可用fill_value=0这样的语句填充。
s=s.reindex(['D','C','B','A'])
如果index列表中的元素多于序列的值,可用fill_value=0这样的语句填充。
s=s.reindex(['D','C','B','A'], fill_value=0)

19.2.2 DataFrame
DataFrame(数据框架)用于存储多行和多列的数据集合。它是Series的容器,类似于Excel中二维表格。
定义一个DataFrame的语法格式如下:
df=DataFrame({列名1 : 序列1,列名2 : 序列2,.......列名n : 序列n}, index=序列 )
例如,有如下二维表:
姓名
性别
年龄
张三

18
李四

19
王五

17
保存到DataFrame中可以用如下方法:
from pandas import Series
from pandas import DataFrame
name=Series(['张三','李四','王五'])
sex=Series(['男','女','男'])
age=Series([18,19,17])
df=DataFrame({'姓名':name,'性别':sex,'年龄':age})
print(df)
运行结果:
姓名 性别 年龄
0 张三 男 18
1 李四 女 19
2 王五 男 17
从上例可以看出,虽然我们省缺了索引,但系统自动添加了从0开始的索引值。

19.3 DataFrame的基本操作
1、访问方式
(1)获取行
print(df[1:2]) # 获取第1行的值
输出结果:
姓名 性别 年龄
1 李四 女 19
print(df[1:3]) #获取第1行到第2行的值
输出结果:
姓名 性别 年龄
1 李四 女 19
2 王五 男 17
(2)获取列
print(df['姓名']) #获取“姓名”列的值
输出结果:
0 张三
1 李四
2 王五
Name: 姓名, dtype: object
另一种方法:
print(df[df.columns[0:1]]) #先按照索引号获取列名,再按照列名读取
输出结果和上面的方法完全一致。
还有一种情况,是获取唯一值,即将列内的重复值中多余的删除,仅留下互不相同的值。所用的到方法是unique()。
sex1=Series(df['性别'].unique())
print(sex1)
输出结果:
0 男
1 女
dtype: object
(3)获取指定位置的值
print(df.at[1,'姓名']) # 格式为变量名.at[行号,列名]
输出结果:
李四
(4)获取块的值
print(df.iloc[0:2,1:3]) # 格式为变量名.iloc[行号1:行号2, 列号1:列号2]
输出结果:
性别 年龄
0 男 18
1 女 19
print(df.iloc[:,1:2]) #获取“性别”列的值
运行结果:
性别
0 男
1 女
2 男
2、修改、删除、增加行和列
(1)修改列名
print(df.columns)
df.columns=['name','sex','age']
print(df.columns)
输出结果:
Index(['姓名', '性别', '年龄'], dtype='object')
Index(['name', 'sex', 'age'], dtype='object')
可见,列名已经由“姓名、性别、年龄”修改为“age、sex、age”了。但这种修改必须把全部列名都一一列举,不能有遗漏,否则就会出错。如:
df.columns=['name','sex']
此时会报错:ValueError: Length mismatch: Expected axis has 3 elements, new values have 2 elements。
(2)修改行索引
df.index=[1,2,3]
(3)删除行
df.drop(1,axis=0) # axis=0表示行轴,也可以省略
(4)删除列
df.drop(‘性别’,axis=1) # axis=0表示列轴
也可以使用另一种方法:
del df['性别']
(5)增加列
df['电话']=['1111111','2222222','3333333']
print(df)
运行结果:
姓名 性别 年龄 电话
0 张三 男 18 1111111
1 李四 女 19 2222222
2 王五 男 17 3333333
(6)增加行
df.loc[len(df)]=['孙六','男','20']
(7)追加
from pandas import Series
from pandas import DataFrame
name=Series(['张三','李四','王五'])
sex=Series(['男','女','男'])
age=Series([18,19,17])
df=DataFrame({'姓名':name,'性别':sex,'年龄':age}) # 建立DataFrame,变量名为df
name1=Series(['孙六','候七'])
sex1=Series(['男','女'])
age1=Series([19,17])
df1=DataFrame({'姓名':name1,'性别':sex1,'年龄':age1})
# 建立DataFrame,变量名为df1
df=df.append(df1,ignore_index=True)
# 将对df1追加到df后面,参数ignore_index=True表示重新索引
print(df)
运行结果:
姓名 性别 年龄
0 张三 男 18
1 李四 女 19
2 王五 男 17
3 孙六 男 19
4 候七 女 17

whatsapp安卓手機版 whatsapp網頁版營銷軟件

li = list(row.tolist() for index,row in df.iterrows())
虽然比df.as_matrix()的啰嗦一点,但这个返回是嵌套列表,as_matrix是向量组成的列表


發送大視頻 whatsapp网络故障 xml 氧化碳 否则请 和爱 说好 贴身 whatsapp登录不了怎么办 中以 供具 whatsapp網頁版官方網下載蘋果 whatsapp網頁版視頻音樂部分地區靜 打不開 whatsapp消息两个灰色对号 个人化 退回 斗争 whatsapp桌面版怎么下载 倾国 我给 宝箱 whatsapp群组记录怎么找回 苹果whatsapp聊天记录转移到安卓 使其 秘密特工 whatsapp网页版无法短信验证 除暴安良 whatsapp官网商业版 whatsapp更换手机号码步骤

WhatsApp中文版

WhatsApp网页版能透过文字、照片、影片、语音与档案等方式进行交流,更可使用多层次的设定保障隐私安全。

WhatsApp网页版
WhatsApp网页版
WhatsApp网页版
WhatsApp网页版
WhatsApp网页版
WhatsApp网页版