pandas打印某一列_Python处理数据常用方法(pandas版)

5c9657dfdfee5536e2adfe7bafa55176.png

本文为我日常工作中常用功能的代码块,可以满足绝大部分文本数据处理的需求。

首先导入常用的包

import pandas as pd

本文假设所使用的excel文件目录为 C:/Users/Administrator/Desktop

名称为 test.xlsx

df 为 定义好的Dataframe格式数据

1 读取excel文件到dataframe中

df = pd.read_excel(r'C:/Users/Administrator/Desktop/test.xlsx')

将本地的excel文件读取成Dataframe格式数据,并命名为df

关于读取本地文件,详情请见

Tao:最新Pandas.read_excel()全参数详解(案例实操,如何利用python导入excel)​zhuanlan.zhihu.com
058e3e85f8db6dc02586bfae6265957f.png

2 将dataframe数据保存到excel中

df.to_excel(r'C:UsersAdministratorDesktoptest.xlsx',index=False)

index=False表示不带索引输出

3 按照某字符将一列拆分为多行,其余列的数据保持不变

按照'+'拆分A列

df = df.drop('A', axis=1).join(df['A'].str.split('+', expand=True).stack().reset_index(level=1, drop=True).rename('A'))

源数据:

f8622021eb5228a19a87c22c93bbad2d.png

拆分后:

d90634e16a4e43734b883131f1855bef.png

4 删除A列中包含'a'的行

df = df[~ df['A'].str.contains('a')]

源数据:

3f8f864a382870bb23ebdc6f3bd86b30.png

删除后:

a9b8bd6a25a8f57a272475ad647e4573.png

5 查看A列中包含'a'的行

print(df[df['A'].str.contains("a")])

6 调整列的顺序

df = df[['B', 'A']]

df是你要调整顺序的表名,列表内的字段顺序是你要调整的顺序

调整后:

b965a9983fce61b1a7d58a9a0e580540.png

7 查看A列包含a的数据的随机抽样,frac表示抽取的比例

print(df[df['A'].str.contains('a')].sample(frac=0.015))

8 删除B列中值为0的行

df = df.drop(df[df.B == 0].index)

同理可以删除大于某值,小于某值,等于某值的行

9 将表中的NaN替换为其他数值(替换别的值类似)

源数据

903b017788d52840ba4c630a5d143121.png
df.replace(np.NAN, '未知', inplace=True)

11634a25ed2eb6d601fb42ab12b9946a.png

10 将A字段中的所有空格去掉(或替换别的字符)

df['A'].str.replace(' ','')

11 显示数据中有多少空值

df.isnull().sum()

12 按照'总销售'列排序(降序)并取前200

df = df.sort_values('总月售',ascending=False)[:200]

13 打印所有的列名

df.columns.values.tolist()

14 按照每行遍历数据,取每行的第一列的值

for indexs in df.index:
    print(df.loc[indexs].values[:][0])# 输出每一行

15 删除包含空值的行

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) 函数作用:删除含有空值的行或列

axis:维度,axis=0表示index行,axis=1表示columns列,默认为0

how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列

thresh:一行或一列中至少出现了thresh个才删除。

subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)

inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。

例:

df.dropna(inplace=True)

源数据:

5dbd0e63f4b2f198b706f95862690890.png

删除后:

927a93cbf816d227c1b4121adfe3fe2b.png

16 将包含**的数据替换为**(比如将 --aa**cc-- 替换为 **)

menu = ['aa','bb','cc','dd']
def change(x): 
    for i in menu:
        if i in x:
            return i
    return x
df['A']=df['A'].apply(change)
df

源数据:

40b375f42beefae70d8a55c8d066694a.png

修改后:

cb822258bdcbcb1f8d228698180b44b5.png

17 python中删除list中某指定元素

ec00de42221f16eed2e7d2e41a523e74.png

18 将不同dataframe写入同一个excel的不同sheet中

writer = pd.ExcelWriter(r'C:UsersAdministratorDesktoptest.xlsx')
df1.to_excel(writer,"sheet1")
df2.to_excel(writer,"sheet2")
df3.to_excel(writer,"sheet3")
writer.save()

攒够十个赞继续更新

十个赞啦~第二篇在此:

Tao:Python处理数据常用方法(pandas版)2​zhuanlan.zhihu.com
bc97a5d0f4dd5798868e6d7880be50c4.png
  • 2
    点赞
  • 10
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值