Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从csv文件中随机抽取样本_Python - Fatal编程技术网

Python 如何从csv文件中随机抽取样本

Python 如何从csv文件中随机抽取样本,python,Python,我有一个包含10行的csv文件: Text,Class text0,class0 text1,class1 ... text9,class9 我对文本进行分类,然后将其与csv文件中标记的正确类进行比较。我想从中随机抽取4篇文章和它们的类别。我有: import random textt=data['Text'] class_one=data['Class'] c=textt[0:] random_sample=random.sample(c,4) 然后,我的分类从以下内容开始: for i

我有一个包含10行的csv文件:

Text,Class
text0,class0
text1,class1
...
text9,class9
我对文本进行分类,然后将其与csv文件中标记的正确类进行比较。我想从中随机抽取4篇文章和它们的类别。我有:

import random
textt=data['Text']
class_one=data['Class']
c=textt[0:]
random_sample=random.sample(c,4)
然后,我的分类从以下内容开始:

for i in random_sample:
但是当我计算分类的准确度时,它会计算整个数据集的准确度。我如何让它只计算4个数据样本的精度

编辑: 至于分类,我有: 对于textt中的i: #分类文本 结果如下所示:

choice 1
choice 2
choice 1
...
并将其与csv文件中的正确类进行比较:

choice 1
choice 2
choice 2
...
准确度计算为66.6%,其中:

for i in class_one:
    #if predicted_class= correct_class: 
    #accuracy=number_correct/total_number
我只想对随机样本进行分类,因此与其对所有10个示例进行分类,不如只对4个进行分类,最好的方法是使用:


最有可能的是
pandas
解决方案正适合您。如果您想在python中将任何CSV文件一般拆分为随机的20%:80%训练和测试拆分,您可以使用核心python:

import random
x     = open("dataset.csv").readlines()
random.shuffle(x)
train = x[:int(total*0.8)]
test  = x[int(total*0.8):]

由于您似乎正在尝试评估某种分类(机器学习?)任务,我强烈建议您查找
scikit learn
,因为它可以对其他变量进行分层,也可以与pandas数据帧一起使用。

您还没有向我们展示您是如何做您所谈论的任何事情的;没有答案,很难给你一个具体的答案。但最有可能的是,这只是调用
(随机样本)
而不是
(c)
,或类似的问题。只需使用dataframe。样本(4),参考文档-我刚刚添加了一个编辑,这有帮助吗?
import random
x     = open("dataset.csv").readlines()
random.shuffle(x)
train = x[:int(total*0.8)]
test  = x[int(total*0.8):]