【问题标题】:Using Python with Pandas to output random rows from two columns使用 Python 和 Pandas 从两列中输出随机行
【发布时间】:2021-08-04 19:42:41
【问题描述】:

我有一个包含三列的电子表格。我想输出 n 个随机行,这适用于从一列输出任意数量的随机行:

    df = pandas.read_excel(filename, header=0, names=["Speaker","Time","Message"])
    random.choices(df["Message"], k=10)

根据我的阅读,您应该可以通过这样做来选择多个列:

    df = pandas.read_excel(filename, header=0, names=["Speaker","Time","Message"])
    random.choices(df[["Speaker","Message"]], k=10)

但这给了我一个关键错误。我不确定我错过了什么。其他示例似乎很简单,但我一定遗漏了一些东西,可能非常简单。

谢谢。

【问题讨论】:

  • .sample() 会达到同样的效果吗? df[["Speaker","Message"]].sample(n=10, random_state=1)
  • @MDR 你打败了我:D
  • @Emma 好吧,不,cmets 不是用来回答问题的,所以你做对了;)

标签: python excel pandas random


【解决方案1】:

random.choices 用于类似列表的 1 痴呆数据(即:列表、元组等)。它不适用于您有 2 个痴呆数据(行 x 列)的数据框。

如果您想从数据框中随机选择,您可以使用 pandas sample 函数。

df.sample(10)

或获取特定的列。

df[['Speaker', 'Message']].sample(10)

【讨论】:

  • 天哪,非常感谢。这行得通!我想我应该查一下df的属性,看来。我很感激。
猜你喜欢
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-26
  • 2019-03-15
相关资源
最近更新 更多