python取列
1. python如何获取指定列表名和其中的值
从整个数据库中获取列名(假设数据库包含超过100行,超过50列),基于pandas中特定列中包含的特定值.
在Bkmm3(来自印度的成员)的帮助下,我在数字术语上取得了成功但在字母术语上失败了.我试过的方式是这样的:
df = pd.DataFrame({'A':['APPLE','BALL','CAT'],
'B':['ACTION','BATMAN','CATCHUP'],
'C':['ADVERTISE','BEAST','CARTOON']})
response = input("input")
for i in df.columns: if(len(df.query(i + '==' + str(response))) > 0):
print(i)`
然后输出出现错误:
Traceback (most recent call last): NameError: name 'APPLE' is not defined
你们的任何帮助都会非常感谢,谢谢. . .
解决方法:
isin / eq适用于DataFrames,您可以100%向量化:
df.columns[df.isin(['APPLE']).any()] # df.isin([response])
要么,
df.columns[df.eq(response).any()]
索引([‘A’],dtype =’对象’)
这是使用DataFrame.eval和np.logical_or的迂回方式(你是在循环列上):
df.columns[
np.logical_or.rece(
[df.eval(f"{repr(response)} in {i}") for i in df]
)]
Index(['A'], dtype='object')
2. 用python给excel某一列提取出来
可以用pandas库很方便的进行读取
import pandas as pd
#获取d盘根目录下工作簿4这个EXCEL文件的Sheet2工作表中的D列(第3列)内容
df=pd.read_excel(r'd:/工作簿4.xlsx',sheet_name='Sheet2',usecols=[2])
print(df)
3. python中如何提取一组数据中的第一列数据
概述
直接提取会报错,把array数组转换成list,即可提取,使用numpy转换
步骤详解
1、直接提取尝试:
group=[[1,2],[2,3],[3,4]]
#提取第一列元素
print(group[:,1])
#Out:TypeError: list indices must be integers or slices, not tuple
2、使用numpy转换:
import numpy as np
group=[[1,2],[2,3],[3,4]]
#numpy转化
ar=np.array(group)
print(ar[:,1])
#Out:[2 3 4]
拓展内容
numpy详解
Numpy对象是数组,称为ndarray
维度(dimensions)称作轴(axes),轴的个数叫做秩(rank)。注:有几级中括号就有几个维度
一、ndarray.attrs:
ndarray.ndim 秩
ndarray.shape 例如一个2排3列的矩阵,它的shape属性是(2,3)
ndarray.size 数组元素的总个数
ndarray.dtype 元素类型,NumPy提供自己的数据类型
ndarray.itemsize 数组中每个元素的字节大小
二、数组创建函数:
array
asarray将输入转换成ndarray
arange
ones
zeros
empty 只分配内存空间不填充任何值
eye 创建N*N单位矩阵(对角线为1)
三、数组和标量之间的运算
numpy数组的一个特点,不用编写循环就可对数据执行批量运算,这通常称作矢量化(vectorization)。
四、基本的索引和切片
numpy数组的索引是一个内容丰富的主题,因为选取数据子集或单个元素的方式有很多。这里我仅详细介绍常用的方法,对于高级功能的方式我列举名称,读者可以等到要用的时候自行查阅资料。
4. python从数据库中读取某列的数值
select bug_type,bug_severity,count(bug_type),ft_id from tm_bug group by ft_id,bug_type,bug_severity
查找表 tm_bug ,字段1名称为(bug_type),字段2名称为(bug_severity),字段3名称为(ft_id),行数,,以为具有相同字段的ft_id,bug_type,bug_severity进行分组,
5. python 三位数组 如何读取一列
op=open('xx.txt','r')
list=[]
for
line
in
op:
list.append(line)
这样第一行就是a[0]。
要取出第一行第二个字。
a[0].split('
')[1]按空格分隔,函数名应该这个。
6. python获取文件的某列
defiteriteminfile(filename,column,spliter=','):
withopen(filename,'rt')ashandle:
forlninhandle:
yieldln.split(spliter)[column]
7. 怎样用python,读取excel中的一列数据
用python读取excel中的一列数据步骤如下:
1、首先打开dos命令窗,安装必须的两个库,命令是:pip3 installxlrd;Pip3 install xlwt。
8. Python中怎么获取二维数组中指定列的数据。
解答:
op=open('xx.txt','r')
list=[]
for line in op:
list.append(line)
这样第一行就是a[0]。
要取出第一行第二个字。
a[0].split(' ')[1]按空格分隔,函数名应该这个。
9. 如何用python取出excel特定列
python有很多包可以操作excel单元
其中我用过的有xlrd ,xlwt 一个读一个写, 另外可用 openpyxl或者XlsxWriter 进行读写, 非常简单
读写单元格只需按列表一样读写元素即可
1
2
ws['A1'] = 42
a = ws["A2"]
对应的python模块用法可以参考网上教程!
10. python里怎么取前两列
python中获得前两列的方式有很多,需要看是哪一种数据类型。
获取Dataframe对象的前两列
import pandas as pd
可以通过dataframe类型的iloc方法获取前两列,df.iloc[:,0:2]
获取numpy对象的前两列
import numpy as np
a =np.zero(3,3)
print(a[:,0:2])