1. pandas基础使用

一、列选择
df['<列名>'] # 选择单列
df[['<列名>', '<列名>']] # 选择多列
df.iloc[:,[x, y, z]] # 选择x y z列
二、行选择
df.loc[[x]] # 选择x行
df.loc[[x, y, z]] # 选择 x, y, z行
df.loc[x:y] # 选择 x~y行 
# 当df的索引是文字时, x y z应是对应的索引名, 且不支持切片

df.iloc[x:y] # 选择x~y-1行
df.iloc[[x]] # 选择x行
df.iloc[[x, y, z]] # 选择 x, y, z行

df[df['<列名>'] >= x] # 选择<列名>中值大于x的行
三、行列选择
# loc选择列时只使用列名  不使用数字
df.loc[[x, y], ["<列名1>", "<列名2>"]] # 选择x, y行, <列名1> <列名2>
df.loc[x:y, ["<列名1>", "<列名2>"]] # 选择x~y行,  <列名1> <列名2>

# iloc选择列时只使用数字  不使用列名
df.iloc[[x, y], [a, b]] # 选择x, y行 a, b列
df.iloc[x:y, a:b] # 选择x:y行,a:b列

df[df["<列名>"] >= x][["<列名1>","<列名2>"]] #选择<列名>中大于x的行的<列名1><列名2>
四、创建DataFrame
1、使用单层字典创建
data = {"key1": ["value1"],
       "key2": ["value2"],
        "key3": ["value3"]
       }
index = ['a']
dataframe = pd.DataFrame(data, index = index) 
# 字典的键做为DataFrame的列名
# 字典的值做为DataFrame的列的值,必须以列表形式给出
# index用来设置DataFrame行的索引,默认是数字
2. 使用双层字典创建
data = {'a': {"key1": " valuea1", "key2": "valuea2"},
        'b': {"key1": " valueb1", "key2": "valueb2"},
        'c': {"key1": " valuec1", "key2": "valuec2"}}
dataframe = pd.DataFrame.from_dict(data, orient='index')
# orient='index' 时 a, b c为行索引 key1, key2为列名
# orient='columns' 时 a, b c为列名 key1, key2为行索引

# value分别对应行为列的值
# 这是一个3行两列的DataFrame,内层的不同的key的数量决定了行数
# 若某一行缺失key:value,则补充Nan
3、使用numpy array创建
data = np.arange(0, 16).reshape((4, 4))
dataframe = pd.DataFrame(data,
                         index=pd.date_range("20240102", periods=4),
                         columns=list("abcd"))
# 创建了一个4*4的矩阵
# 设置索引为2024-01-02 ~ 2024-01-05
# 设置列名为 a b c d
# 列表所表示的矩阵有相同的创建方法
五、基本属性
1. 索引 DataFrame.index && 列名 DataFrame.columns
print(dataframe.index) # 输出索引信息
dataframe.index.name = '<index name>' # 设置索引index名
dataframe.iloc[[x]] = '<value>' # 按行选中并赋值

print(dataframe.columns) # 输出列名
dataframe.columns.name = '<columns name>' # 为DataFrame创建列<columns name>的列
dataframe['<columns name>'] = '<value>' # 按列选中并赋值
2. 其它
print(dataframe.values) # 输出底层numpy类型数据
print(dataframe.head(n)) # 输出前n行
print(dataframe.tail(n)) # 输出后n行

dataframe = dataframe.round({'<columns1>': x, '<columns2>': y})
	# 不同的列制定不同的小数点位数

----不断更新ing----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啥都想学的大学生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值