import random #引入随机数模块,以生成随机数#定义 fib_loop函数,构造斐波那契数列deffib_loop(n):
listNum=[]
a,b=0,1#for结构,循环体重复运行n次for i inrange(n):
a,b=b,a+b
listNum.append(a)#print(i,listNum)return listNum
listPlan=['吃零食','学习','学习','学习','看电影','学习','旅游','睡觉','学习']
listNum=fib_loop(6)
varIdx=random.randint(0,5)
varRandom=listNum[varIdx]print('今日计划:',listPlan[varRandom])
今日计划: 学习
lis=['蚂蚱','螳螂','蝈蝈','蝗虫','蛐蛐']#直接遍历for item in lis:print(item)#按索引遍历for i inenumerate(lis):print(i)#对于列表类型,还有一种通过下标遍历的方式,如使用range()函数for i inrange(len(lis)):print(lis[i])
#创建集合
var =set()#或者使用{}进行创建集合print(var,type(var))
var ={'你好啊','我也好','大家好'}print(var,type(var))
result ='大家好'in var
print(result)
result ='大家好'notin var
print(result)#添加删除集合元素
var.add('她好吗')print(var)
var.remove('大家好')print(var)
longitude 39
latitude 116
temperature 26
dtype: int64
--------修改后的数据---------
longitude 39
latitude 199
temperature 29
dtype: int64
--------增加后的数据---------
longitude 39
latitude 199
temperature 29
dtype: int64
--------删除后的数据---------
longitude 39
latitude 199
temperature 29
dtype: int64
print("-----从字典数据创建DataFrame对象-----")import pandas as pd
dict={'col1':[1,2,5,7],'col2':['a','b','c','d']}
df=pd.DataFrame(dict)
df
print("-----从列表组成的字典创建DataFrame-----")import pandas as pd
lista=[1,2,3,4,7]
listb=['a','b','c','d','e']
df=pd.DataFrame({'col1':lista,'col2':listb})
df
-----从列表组成的字典创建DataFrame-----
col1
col2
0
1
a
1
2
b
2
3
c
3
4
d
4
7
e
import pandas as pd
import numpy as np
ser=pd.Series(np.arange(4),index=['A','B','C','D'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Bj','Sh','Gz','Sz'],columns=['q','r','s','t'])print('ser[\'C\']:',ser['C'])print('ser[2]:',ser[2])print('data[\'q\']:',data['q'])print('data[\'q\',\'t\']:',data[['q','t']])
ser['C']: 2
ser[2]: 2
data['q']: Bj 0
Sh 4
Gz 8
Sz 12
Name: q, dtype: int32
data['q','t']: q t
Bj 0 3
Sh 4 7
Gz 8 11
Sz 12 15
import pandas as pd
import numpy as np
ser=pd.Series(np.arange(4),index=['A','B','C','D'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Bj','Sh','Gz','Sz'],columns=['q','r','s','t'])
data['q']['Bj']=0
data['t']=0
data['s']['Sz']=0
data
<ipython-input-55-5ff38b1b4d88>:7: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
data['s']['Sz']=0
q
r
s
t
Bj
0
1
2
0
Sh
4
5
6
0
Gz
8
9
10
0
Sz
12
13
0
0
#DataFrame增加列import pandas as pd
import numpy as np
ser=pd.Series(np.arange(4),index=['A','B','C','D'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Bj','Sh','Gz','Sz'],columns=['q','r','s','t'])
data['u']=0
data
q
r
s
t
u
Bj
0
1
2
3
0
Sh
4
5
6
7
0
Gz
8
9
10
11
0
Sz
12
13
14
15
0
#增加行,需要新建一个dataframe用于存放需要添加的一行,再使用panda的contact函数将两个dataframe进行连接import pandas as pd
import numpy as np
ser=pd.Series(np.arange(4),index=['A','B','C','D'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Bj','Sh','Gz','Sz'],columns=['q','r','s','t'])
newdata=pd.DataFrame(np.arange(4).reshape(1,4),index=['Cq'],columns=['q','r','s','t'])
pd.concat([data,newdata])
q
r
s
t
Bj
0
1
2
3
Sh
4
5
6
7
Gz
8
9
10
11
Sz
12
13
14
15
Cq
0
1
2
3
#DataFrame对象的行列删除操作import pandas as pd
import numpy as np
ser=pd.Series(np.arange(4),index=['A','B','C','D'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Bj','Sh','Gz','Sz'],columns=['q','r','s','t'])
data.drop('Sz')#删除一行
s
t
Bj
2
3
Sh
6
7
Gz
10
11
Sz
14
15
#DataFrame对象的行列删除操作#drop()函数中参数axis,默认为0,0表示删除行,1表示删除列import pandas as pd
import numpy as np
ser=pd.Series(np.arange(4),index=['A','B','C','D'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Bj','Sh','Gz','Sz'],columns=['q','r','s','t'])
data.drop(['q','r'],axis=1)#删除q列和r列
s
t
Bj
2
3
Sh
6
7
Gz
10
11
Sz
14
15
#DataFrame对象的行列删除操作#drop()函数中参数inplace是逻辑型,默认为false,表示产生新的对象,原来的DataFrame对象的内容不变import pandas as pd
import numpy as np
ser=pd.Series(np.arange(4),index=['A','B','C','D'])
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Bj','Sh','Gz','Sz'],columns=['q','r','s','t'])
data.drop(['Bj','Sh'],inplace=True)