pandas数据操作

简介: pandas数据操作字符串方法Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素import numpy as npimport pandas as pdt = pd.

pandas数据操作

字符串方法

Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素

import numpy as np
import pandas as pd

t = pd.Series(['a_b_c_d','c_d_e',np.nan,'f_g_h'])
t
0    a_b_c_d
1      c_d_e
2        NaN
3      f_g_h
dtype: object
t.str.cat(['A','B','C','D'],sep=',') # 拼接字符串
0    a_b_c_d,A
1      c_d_e,B
2          NaN
3      f_g_h,D
dtype: object
t.str.split('_') # 切分字符串
0    [a, b, c, d]
1       [c, d, e]
2             NaN
3       [f, g, h]
dtype: object
t.str.get(0) # 获取指定位置的字符串
0      a
1      c
2    NaN
3      f
dtype: object
t.str.replace("_", ".") # 替换字符串
0    a.b.c.d
1      c.d.e
2        NaN
3      f.g.h
dtype: object
t.str.pad(10, fillchar="?") # 左补齐
0    ???a_b_c_d
1    ?????c_d_e
2           NaN
3    ?????f_g_h
dtype: object
t.str.pad(10, side="right", fillchar="?") # 右补齐
0    a_b_c_d???
1    c_d_e?????
2           NaN
3    f_g_h?????
dtype: object
t.str.center(10, fillchar="?") #中间补齐
0    ?a_b_c_d??
1    ??c_d_e???
2           NaN
3    ??f_g_h???
dtype: object
t.str.find('d') # 查找给定字符串的位置,左边开始
0    6.0
1    2.0
2    NaN
3   -1.0
dtype: float64
t.str.rfind('d') # 查找给定字符串的位置,右边开始
0    6.0
1    2.0
2    NaN
3   -1.0
dtype: float64

数据转置(行列转换)

dates = pd.date_range('20130101',periods=10)
dates
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
               '2013-01-05', '2013-01-06', '2013-01-07', '2013-01-08',
               '2013-01-09', '2013-01-10'],
              dtype='datetime64[ns]', freq='D')
df = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])
df.head()
A B C D
2013-01-01 -0.665173 0.516813 0.745156 -0.303295
2013-01-02 -0.953574 2.125147 0.238382 -0.400209
2013-01-03 -0.233966 2.066662 0.331000 -2.802471
2013-01-04 2.038273 0.982127 -1.096000 -1.051818
2013-01-05 -1.438657 -1.208042 -0.375673 0.384522
df.head().T # 行列转换
2013-01-01 00:00:00 2013-01-02 00:00:00 2013-01-03 00:00:00 2013-01-04 00:00:00 2013-01-05 00:00:00
A -0.665173 -0.953574 -0.233966 2.038273 -1.438657
B 0.516813 2.125147 2.066662 0.982127 -1.208042
C 0.745156 0.238382 0.331000 -1.096000 -0.375673
D -0.303295 -0.400209 -2.802471 -1.051818 0.384522

对数据应用function

df.head().apply(np.cumsum) # cumsum 累加
A B C D
2013-01-01 -0.665173 0.516813 0.745156 -0.303295
2013-01-02 -1.618747 2.641960 0.983537 -0.703504
2013-01-03 -1.852713 4.708622 1.314537 -3.505975
2013-01-04 0.185560 5.690749 0.218537 -4.557793
2013-01-05 -1.253098 4.482707 -0.157135 -4.173271

频率

计算值出现的次数,类似直方图

s = pd.Series(np.random.randint(0, 7, size=10))
s
0    3
1    3
2    1
3    6
4    3
5    3
6    5
7    2
8    1
9    0
dtype: int32
s.value_counts()
3    4
1    2
6    1
5    1
2    1
0    1
dtype: int64
目录
相关文章
|
2月前
|
Serverless 数据处理 索引
Pandas中的shift函数:轻松实现数据的前后移动
Pandas中的shift函数:轻松实现数据的前后移动
176 0
|
11天前
|
Python
|
11天前
|
Python
|
10天前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
26 1
|
11天前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
8 1
|
11天前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
13 2
|
11天前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
11 2
|
15天前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,"死叉"指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而"金叉"则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
31 2
|
10天前
|
Python
Pandas 常用函数-数据选择和过滤
Pandas 常用函数-数据选择和过滤
9 0
|
1月前
|
数据可视化 数据挖掘 数据处理
模型预测笔记(四):pandas_profiling生成数据报告
本文介绍了pandas_profiling库,它是一个Python工具,用于自动生成包含多种统计指标和可视化的详细HTML数据报告,支持大型数据集并允许自定义配置。安装命令为`pip install pandas_profiling`,使用示例代码`pfr = pandas_profiling.ProfileReport(data_train); pfr.to_file("./example.html")`。
44 1

热门文章

最新文章