将随机化行作为新csv接收

shyt4zoc  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(340)

我对python非常陌生(主要是出于学术原因,我想使用它),所以请直接回答我的问题!
我已经通过他们的dev学术帐户收集了twitter数据,但是数量相当大,所以我想创建一个随机样本。我已经有了json和csv格式的数据。
我现在想要得到x行的随机样本(比如1000行)(最好是针对特定列(列“cg”(header=text))-如果这很困难,则应重新命名整行的值)
我发现的是这段代码,它给出了随机值。
我如何修改它,使它能给出随机的行,而不是随机的值——这样它们总是包含来自同一列的内容?
我如何让它创建一个新的csv,并将随机化的行数据作为示例?
p、 s:我也试着让datatools运行并使用他们的csvrows工具,但是按照说明我无法让csvrow工具运行。数据工具
mwe:

import csv
import random

with open('test.csv', 'r') as csv_file:

    lines = [tuple(line) for line in csv.reader(csv_file)]

n = 1000 #  number of row you want to pick elements from

chosen_rows = random.choices(lines, k=n) 
 # pick n rows in the list

chosen_values = [random.choice(row) for row in chosen_rows]
  # pick a value from each row

print('\n'.join(chosen_values))
camsedfj

camsedfj1#

你考虑过使用吗 Pandas ? 它在学术界、数据科学界和工业界广泛用于处理csv/json文件和数据。
下面是一个示例,它可以在两行代码中实现您想要的功能,而无需编写额外的代码。

import pandas as pd

# read csv

df = pd.read_csv(path_to_your_file)
df.sample(frac=0.5, random_state=12345)

Pandas样本文档

相关问题