我是靠谱客的博主 花痴翅膀,最近开发中收集的这篇文章主要介绍Python读取CSV成数据框并进行筛选和相关性检验,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、第一种方法读取后为list,再转化为数据框

import csv
from pandas.core.frame import DataFrame
csv_file=csv.reader(open('合并.csv','r'))
content=[] #用来存储整个文件的数据,存成一个列表,列表的每一个元素又是一个列表,表示的是文件的某一行
for line in csv_file:
#print(line) #打印文件每一行的信息
content.append(line)
data=DataFrame(content)#转换成数据框
print(data[["身份证号"]])

二、直接用pandas读取成数据框,一句话搞定

data =pd.read_csv('D://paper//Python_test//绘图//合并.csv',header=0,index_col=2, encoding= "gbk")

设置第1行为行索引,第3列为列索引,由于文件中含有中文,因此编码格式为"gbk"

数据框类型便可以直接按行按列取值了

三、按行取值,即取某一列或多列

取列索引为 “策略类别” 和 "学习策略(原始分)"的两列,

df22 =data1[["策略类别","学习策略(原始分)"]]

当然行索引也会在其中,去除索引列的方法就是再套一层:

x2 = df22[["学习策略(原始分)"]]["学习策略(原始分)"]

四、按列的值筛选

按一列的值进行筛选,比如筛选四年级的所有学生的分数

df = data.loc[data['年级']== 4 ]

按两列值进行筛选

df4 = df.loc[(df['策略类别'] == "A" )&(df['语文类别'] == "B" )]

五、对列求相关系数矩阵

# 计算各变量之间的相关系数
corr = data.corr()
# print(corr)
# r的显著性检验
# 各个相关系数检验的统计量
def r_test_statistic(r, n):
if r==1:
return 0
else:
a = abs(r)
b = np.sqrt((n-2) / (1-r**2))
c = a*b
return c
# 计算各个相关系数检验的统计量
corr_test_stat = corr.applymap(lambda x:r_test_statistic(x, len(data)))
print(corr_test_stat)
# 根据显著性水平0.05和自由度n-2=25-2=23, 计算t分布临界值
alpha = 0.01
t_score = scipy.stats.t.isf(alpha/2, df = len(data)-2)
print(t_score)

具体实例可参考:
https://blog.csdn.net/qq_39284106/article/details/104106864

最后

以上就是花痴翅膀为你收集整理的Python读取CSV成数据框并进行筛选和相关性检验的全部内容,希望文章能够帮你解决Python读取CSV成数据框并进行筛选和相关性检验所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部