03-pandas-将Series添加进dataframe的几种方法
pandas笔记
·
将Series添加进dataframe的几种方法
#引入pandas指定简称pd
import pandas as pd
#########################################################
## 创建dictionary
# d = {'x': 100, 'y': 200,
# 'z': 300} # 创建一个dictionary的3个含3个key(keys是key的复数)对应3个value 键值对(“key = value”),顾名思义,每一个键会对应一个值,相当于电话簿姓名=键,手机号=值就是谁的值。
# print(d.keys()) # 使用keys方法打印序列的键keykeys函数
# #Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键。语法 keys()方法语法:dict.keys()
# print(d.values()) # 使用values方法打印序列的值value
# print(d['x']) # 使用['x']方法打印X键的值
# s1 = pd.Series(d) # 使用.Series方法把上面Dictionary的keys转化为s1的index 把values转换为s1的data
##生成一个序列对象,里边的值是空的 序列由键和值及索引3个属性组成 name是序列的名字 index是序列里每个数据的索引(每一个Series序列和python的字典很像)
# print(s1) #打印s1的index和value
# print(s1.index) #打印s1的index
########################################################
##创Series方法二(和上面结果一样)
# L1 = [100, 200, 300] #给L1未来要放进去的3个value值
# L2 = ['x', 'y', 'z'] #给L2未来要使用的index值
# s1 = pd.Series(L1, index=L2)#使用Series方法指定L1为值L2为index
# print(s1) # 输出结果查看
######################################################
##方法三直接将值放在Series里
# s1 = pd.Series([100, 200, 300], index=['x', 'y', 'z'])
# print(s1)
######################################################
##在pandas里无论是想表达行或列都可以用序列去做,只有把它加进dataframe里的方法才会具体决定它以行的形式或者列的形式加进去
##模拟实战使用最多的方式分别在ABC三列填入1 2 3,10 20 30,100 200 300
s1 = pd.Series([1, 2, 3], index=[1, 2, 3], name='A') # 序列1=pd.Series([值是1,2,3]行号=[1,2,3],名字='A')
s2 = pd.Series([10, 20, 30], index=[1, 2, 3], name='B') # 序列2=pd.Series([值是10,20,30]行号=[1,2,3],名字='B')
s3 = pd.Series([100, 200, 300], index=[1, 2, 3], name='C') # 序列3=pd.Series([值是100,200,300]行号=[1,2,3],名字='C')
df = pd.DataFrame(
{s1.name: s1, s2.name: s2, s3.name: s3}) # 以此方式 df = pd.DataFrame({s1.名字:s1,s2.名字:s2,s3.名字:s3})将s1,s2,s3加入当做列
##使用以下list方法把序列加进去会将行号变成ABC列变成123,正好转了90度
# df = pd.DataFrame([s1, s2, s3]) # 以list形式将一组序列加到dataframe之后它是把每个序列看做是一行,把序列名name看做行号
print(df)
###########################################################
更多推荐
已为社区贡献3条内容
所有评论(0)