当前位置: 首页 > 工具软件 > X-Series > 使用案例 >

03-pandas-将Series添加进dataframe的几种方法

慕震博
2023-12-01

将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)
###########################################################
 类似资料: