pandas行列操作:
https://www.cnblogs.com/mrwuzs/p/11325205.html
pandas读取行列数据:
https://www.cnblogs.com/wynlfd/p/14024947.html


取出DataFrame里面指定的四列数据构成新DF

dfS = data[['A','B','C','D']]print(dfS)

全DataFrame查询数值

demo_df = pd.DataFrame({'Integer Feature': [0, 1, 2, 1], 'Categorical Feature': ['socks', 'fox', 'socks', 'box']})demo_df

用for循环遍历

for indexs in df.index: for i in range(len(df.loc[indexs].values)): if(df.loc[indexs].values[i] =='fox'): print(indexs,i) print(df.loc[indexs].values[i])

添加新的一列,该列数值为空值

用pandas直接是None

dfS["new"] =None

将空值全部改为0

dfS = df.fillna(0)

用numpy是nan

import pandas as pd
import numpy as npdf = pd.DataFrame({'A': ['K0', 'K0', 'K1', 'K2'],'B': ['K0', 'K1', 'K0', 'K1'],'C': ['A0', 'A1', 'A2', 'A3'],'D': ['B0', 'B1', 'B2', 'B3']})df['ZZ'] = np.nan

将指定值改为空值,比如将所有1改为空值

import numpy as np//**********首先在这里遍历全部数据*************//// 把指定值换成9,然后把9换成空值
df.replace("9", np.NaN, inplace=True)

检索全部DataFrame,将符合条件的值的列所在的索引输出到新的一列

# 新添加一列
dfS["ZZ"]=0# 遍历全DF
for indexs in dfS.index: for i in range(len(dfS.loc[indexs].values)): if(dfS.loc[indexs].values[i] =='bbb'): print(indexs,i)# 查询到bbb就在ZZ里面赋值1dfS.iloc[indexs,17] = iprint(dfS.head())

pandas.DataFrame中某数值在某行中第一次出现的索引号

dfS["ZZ"] = None# 将每一行第一次出现的字符串的索引保存在ZZ列里面
ZuiHouyilie = 26for indexs in dfS.index: for i in range(len(dfS.loc[indexs].values)):if(dfS.loc[indexs].values[i] ==1): print(indexs,i)dfS.iloc[indexs,ZuiHouyilie] = ibreak       print(dfS.head())

pandas.DataFrame中某数值在某行中最后一次出现的索引号

dfS["ZZ"] = NoneZuiHouyilie = 26for indexs in dfS.index: for i in range(len(dfS.loc[indexs].values)): if(dfS.loc[indexs].values[i] ==1): print(indexs,i)dfS.iloc[indexs,ZuiHouyilie] = iprint(dfS.head())

pandas.DataFrame中每一行某个数值出现的次数

# 将符合条件的数值修改为1,不符合的修改为0
ChaXunStr = 13311for col in dfS.columns:dfS.loc[dfS[col] != ChaXunStr,col] = 0dfS.loc[dfS[col] == ChaXunStr,col] = 1dfS# 求和
# 增加新的一列数据,保存的是查询的那个数值的索引位置
# 第一次出现还是最后一次出现?最后一次!
dfS["ZZ"] = None# 将查出来的索引位置存在ZZ所在的列
# 存的是最后一次出现的索引位置
ZuiHouyilie = 26for indexs in dfS.index: for i in range(len(dfS.loc[indexs].values)): if(dfS.loc[indexs].values[i] ==1): print(indexs,i)dfS.iloc[indexs,ZuiHouyilie] = iprint(dfS.head())# 只取求和结果那一列输出结果!
dfS['Times'] =dfS.apply(lambda x:x.sum(),axis =1)  #对每一行求和,添加新的一行dfS = dfS[['Times']]#只提取index和TimesdfSdfS.to_csv("FSP22131chuxiancishu.csv")

pandas.dataframe根据ID列关联两个DataFrame

相当于excel中VLOOKUP 功能

# dfA列的长度比dfB的长度大!大的在前,小的在后
# outer表示并集,inner表示交集
dfS = dfA.merge(dfB,how='outer',on=['ID '])dfS

统计全DATa Frame各个数值出现的次数

pieces = []for col in dfS.columns:tmp_series = df[col].value_counts()tmp_series.name = colpieces.append(tmp_series)df_value_counts = pd.concat(pieces, axis=1)
FSP_3 = df_value_counts.fillna(0)FSP_3["Total"] =FSP_3.apply(lambda x:x.sum(),axis =1)print(FSP_3.head())# 只打印Total列
FSP_3 = FSP_3[['Total']] FSP_3.head()

使用pandas的read_csv时会将长度超过15位的字符串转换位科学计数法显示造成数据丢失。将数据转为str类型即可。

df['A'] = df['A'].astype(str)

去除DF中的英文或者符号

输入

➡ 输出

import pandas as pd
import string
string.punctuationfile_path = "1995_500.csv"
dfS = pd.read_csv(file_path)print(dfS.head())punctuation_string = string.punctuationdfS['LID '].replace('tile_','',regex=True,inplace=True)
print(dfS.head()) # dfS.to_csv("1995_500_new.csv",mode='a')

将DF中所有小数点后位数保留3位

DF =DF.round(3)# 分别对不同列保留小数位
#方法1
df.round({'A1': 1, 'A2': 2})
# 方法2
pd.Series([1, 0, 2], index=['A1', 'A2', 'A3'])
# 通过自定义函数设置小数位数,返回类型为object,以设置为二位小数为例
df.applymap(lambda x: '%.2f'%x)

参考博客


对某列排序

dfS['LID '].sort(reverse=True)

Python的左闭右开原则

python的左闭右开原则

判断一个列表中是否有重复元素

ls = [1, 1, 2, 3]
if len(ls) == len(set(ls)):print("无重复元素!")
else:print("有重复!")

python:pandas全DataFrame查询定位赋值数值所在行列相关推荐

  1. pandas全表查询定位某个值所在行列

    # create a dataframe with an integer feature and a categorical string feature demo_df = pd.DataFrame ...

  2. python pandas 分割DataFrame中的字符串及元组

    python pandas 分割DataFrame中的字符串类型数据的方法 文章目录 1.使用str.split()方法 2.使用join()与split()方法结合 3. 使用apply方法分割元组 ...

  3. Pandas把dataframe中的整数数值(integer)转化为时间(日期、时间)信息实战

    Pandas把dataframe中的整数数值(integer)转化为时间(日期.时间)信息实战 目录 Pandas把dataframe中的整数数值转化为时间(日期.时间)信息实战

  4. python pandas 遍历 DataFrame

    python pandas 遍历 DataFrame df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B0', 'B1', 'B2', ...

  5. Python Pandas的DataFrame对象中轴的意义,axis=0 或者axis=1代表什么意思?

    Python Pandas的DataFrame对象中轴的意义,axis=0 或者axis=1代表什么意义? 通常来说:axis = 0代表行, axis=1代表列. 一.从删除操作来看axis: 举个 ...

  6. 如何创建一个Python Pandas的DataFrame变量,如何给一个DataFrame对象添加新的一行数据?

    如何给一个Python Pandas的DataFrame对象添加新一行数据? 1.如何创建一个新的dataframe变量. 1) 创建一个没有列名的dataframe变量:df = pd.DataFr ...

  7. pandas获取dataframe中索引值最大值所在的数据行(get dataframe row of max index value)

    pandas获取dataframe中索引值最大值所在的数据行(get dataframe row of max index value) 目录 pandas获取dataframe中索引值最大值所在的数 ...

  8. Python—pandas中DataFrame类型数据操作函数

    python数据分析工具pandas中DataFrame和Series作为主要的数据结构.  本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数.  1)查看DataFram ...

  9. 【Pandas】DataFrame查询数据

    DataFrame查询数据 加载数据 通过索引查询 查询某(几)列 查询一列 的 某(几)行 查询多列 的 某(几)行 使用loc和iloc方法查询 使用bool-series索引 加载数据 impo ...

最新文章

  1. 独家 | Tableau小技巧之分离Box plot和Unit Histogram(附链接)
  2. SAP RETAIL MM42维护的采购价格,等同于ME11ME12的效果
  3. 【ZT】详细设计文档规范
  4. c++注释快捷键_Java编程之常用快捷键
  5. lol最克制诺手的英雄_上路克制诺手的英雄,他只需要平A就好了!
  6. 排版人员 快速排版_选择排版前应了解的事项
  7. wps表格里面计算机在哪里,WPS的Word居然还有计算神器?在哪里能找到又是怎么进行计算呢?...
  8. iOS与H5交互(WKWbebView)
  9. Elasticsearch7.X 字段数据类型
  10. python3使用schedule
  11. php redis auth 高并发,PHP+Redis高并发
  12. Kickstart+HTTP+DHCP+TFTP全自动批量安装部署Linux系统
  13. nginx.conf添加lua.conf配置
  14. 82. Session 应用
  15. 解决Git报“OpenSSL SSL_read: Connection was reset, errno 10054”错的问题
  16. Android开发 - 掌握ConstraintLayout(一)传统布局的问题 1
  17. 40个使用HDR的超棒夜景摄影照片展示
  18. 成都公办计算机学校,成都计算机学校公立-成都公立的计算机学校有哪
  19. linux支持hd610显卡吗,HD610相当于什么显卡水平 HD610和HD630的区别对比介绍
  20. Android获取设备的IP地址的两种方法

热门文章

  1. postgresql standard_conforming_strings参数
  2. 【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡
  3. Python将word表格存入excel —— 格式化pg参数手册
  4. APPNP:PREDICT THEN PROPAGATE: GRAPH NEURAL NETWORKS MEET PERSONALIZED PAGERANK
  5. 商务协同办公市场有「后浪」
  6. 自定义view,仿微信、支付宝密码输入控件的源码实现
  7. [转载] UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统
  8. WLAN旁挂组网二层直连
  9. 杭州电子科技大学计算机科学与技术专业排名,杭州电子科技大学计算机科学与技术研究生专业排名...
  10. PAR 相控阵方法,阵元间隔原理