不知道为啥,用pandas将文件读入DataFrame时,将前面的0自动给我删了,比如000003就直接给我转为3了,这样再做后续操作的时候肯定就会出错的嘛。比如我是打算把000003转换为00:00:03的,结果就搞不成了。不让我转,删了总行了吧,反正这个也是无效信息。就考虑根据列中值的字符串长度,进行行的删除。
首先想到的就是布尔索引,下面先介绍下布尔索引
df=df[逻辑表达式取反]
以下面的表格为例,定义其为DataFrame对象df:
index A B C D E
0 2 6 9 2 3
1 3 NaN 3 0 1
2 5 6 6 NaN 9
3 9 0 6 0 7
4 9 NaN 8 5 3
5 7 9 4 3 2
6 6 1 7 1 NaN
(1)删去满足条件的行
删去B列大于7或D列为0的行,也就是要保留B列小于等于7且D列不为0的行
df=df[~((df['B']>7)|(df['D']==0))]
print(df)
以上代码跟下面的代码效果一样,上面逻辑表达式取了反,下面没取反
df=df[(df['B']<=
然而,有些时候我们会发现
DataFrame
的
列名
中含有某些前缀,这些前缀可能会干扰我们对数据的分析和处理。本文将介绍如何使用Python中的replace函数批量
删除
DataFrame
列名
中的前缀。接下来,我们使用replace函数
删除
列名
中的前缀。在我们的例子中,我们需要将每个
列名
中的“prefix_1_”替换成“”。运
行
上述代码,我们会得到一个名为df的
DataFrame
,其中
列名
都以“prefix_1_”作为前缀。使用Python中的replace函数批量
删除
DataFrame
列名
中的前缀。
Pandas
是 Python 中最重要的数据处理库之一,使用
Pandas
我们可以高效地对二维表格型的数据进
行
处理与分析。在对
DataFrame
进
行
操作的过程中,常常需要
删除
某些列。本文将跟读者分享
Pandas
删除
DataFrame
列的几种简单方法。
要
删除
数组中指定
列名
的一列,你可以使用
pandas
库。
首先,需要使用
pandas
将数组转换为
DataFrame
数据结构,然后使用
DataFrame
的 drop 函数
删除
指定列。
下面是一个例子:
import
pandas
as pd
# 创建数组
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 将数组转换为
DataFrame
df ...
1.
删除
df.ts_code大于等于"500000"且小于"600000"的所有
行
df = df.drop(df[(df.ts_code >= "500000") & (df.ts_code < "600000")].index)
2.
删除
exchange_id列
df = df.drop('exchange_id', axis=1)
python
dataframe
删除
某一列大于指定值的所有
行
python
dataframe
只保留某一列等于指定值的所有
行
python
dataframe
删除
某一列等于指定值的所有
行
python
dataframe
对
行
进
行
筛选
Pandas
批量
删除
dataframe
列名
中的后缀实战:使用rstrip函数批量
删除
列名
中的后缀(suffix)、使用replace函数批量
删除
列名
中的后缀(suffix)
#仿真数据
#使用rstrip函数批量
删除
列名
中的后缀(suffix)
#使用replace函数批量
删除
列名
中的后缀(suffix)
修改
dataframe
列名
的两种方式:若修改所有的
列名
建议使用第一种,只修改少数几列的名字,建议使用第二种.但这种方式不会修改原本的
Dataframe
,要使用inplace=True在原Datafram上进
行
更改。
有时候需要
删除
数据表中某一列中包含指定
字符
串的
行
,可以使用
pandas
的
字符
串包含函数.str.contains:
pd.Series.str.contains(pat, case=True, flags=0, na=None, regex=True)
#pat是搜索
字符
,case表示是否区分大小写,flags表示是否传递给 re 模块的标志,regex=True则pat是一个正则表达式,regex=False表示pat是一个
字符
串
官网详细解释链接:https://
pandas
.pydata.org/d