pandas中数据框的一些常见用法

1、创建数据框或读取外部csv文件

  • 创建数据框数据
""" 设计数据 """
import pandas as pd

data = {"A": [2,3,9], "B": [4,6,11], "C": [5,6,12], "D": [6,1,5]}
index = ["X","Y","Z"]
df = pd.DataFrame(data=data, index=index)
print(df)

""" 读取数据 """
import pandas as pd

df = pd.read_csv("data/data.csv", header=None)

2、重置索引

import pandas as pd

""" 设计数据 """
data = {"A": [2,3,9], "B": [4,6,11], "C": [5,6,12], "D": [6,1,5]}
index = ["X","Y","Z"]
df = pd.DataFrame(data=data, index=index)

""" 重置索引,从0开始计数 """
# 获取行数
nrow = df.shape[0]
# 获取列数
ncol = df.shape[1]
print("该数据框有%d行, %d列" %(nrow,ncol))
# 重置行索引
df.index = range(nrow)
# df.index = [1,2,3] # 也可以使用自定义手动方式
# 重置列索引
df.columns = range(ncol)

print(df)

3、行列读取

  • 读取列
import pandas as pd

""" 设计数据 """
data = {"A": [2,3,9], "B": [4,6,11], "C": [5,6,12], "D": [6,1,5]}
index = ["X","Y","Z"]
df = pd.DataFrame(data=data, index=index)

""" 读取数据框 """
# 读取列
a = df.ix[:, 0]  # 读取单列——第0列
b = df.ix[:, 0:2] # 读取连续列——第0,1,2列
c = df.ix[:, [0,2]] # 读取指定某些列——第0,2列
print(a)
print(b)
print(c)



  • 读取行(同理)
# 读取行
d = df.ix[0, :]  # 读取单行——第0行
e = df.ix[0:2, :] # 读取连续行——第0,1,2行
f = df.ix[[0,2], :] # 读取指定某些行——第0,2行
print(d)
print(e)
print(f)



4、数据合并

""" 数据合并 """
import pandas as pd
data1 = {"0": [2,3,9], "1": [4,6,11], "2": [5,6,12], "3": [6,1,5]}
index = [0,1,2]
df1 = pd.DataFrame(data=data1, index=index)

data2 = {"4": [3,9,11], "5": [4,6,20]}
df2 = pd.DataFrame(data=data2, index=index)

# 合并数据框(合并前需要确保数据是DataFrame格式), 其中,如果axis=1,ignore_index将改变的是列上的索引(属性名)
df = pd.concat([pd.DataFrame(df1), pd.DataFrame(df2)], axis=1) # axis=1 表示横向合并(左右);axis=0 表示纵向合并(上下)
print(df)

df1:

df2:

df:

猜你喜欢

转载自www.cnblogs.com/komean/p/10796616.html