python - 从数据框中随机选择列

标签 python pandas

我的问题很简单: 有没有办法从 Pandas 的数据框中随机选择列?明确地说,我想随机挑选出带有附加值的 n。我知道有这样一种随机选择行的方法:

import pandas as pd

df = pd.read_csv(filename, sep=',', nrows=None)
a = df.sample(n = 2)

所以问题是,是否存在用于查找随机列的等效方法?

最佳答案

sample 也接受一个轴参数:

df = pd.DataFrame(np.random.randint(1, 10, (10, 5)), columns=list('abcde'))

df
Out: 
   a  b  c  d  e
0  4  5  9  8  3
1  7  2  2  8  7
2  1  5  7  9  2
3  3  3  5  2  4
4  8  4  9  8  6
5  6  5  7  3  4
6  6  3  6  4  4
7  9  4  7  7  3
8  4  4  8  7  6
9  5  6  7  6  9

df.sample(2, axis=1)
Out: 
   a  d
0  4  8
1  7  8
2  1  9
3  3  2
4  8  8
5  6  3
6  6  4
7  9  7
8  4  7
9  5  6

关于python - 从数据框中随机选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45568427/

相关文章:

python - argparse.Namespace 和 types.SimpleNamespace 之间的区别?

python - 如何在全局范围内向 Python Logger 对象添加处理程序?

python - 如何在同一个 pandas 数据框的同一列的一个绘图图表中绘制多条线?

python - 在 docker Alpine 中安装 pandas

python - 如何使用 'loc' 在 dask 中选择数据帧的列

python - 我可以使用 h5py 在一行中将字符串写入 HDF5 文件,而不是循环遍历条目吗?

python - 如果行数大于 1,则在 Group By 上应用自定义函数

Python/Pandas - 根据条件过滤行

python-3.x - 如何在 Pyramid 框架内的请求之间缓存/内存 pandas DataFrame(昂贵的计算)?

python - 根据 csv 文件名命名数据框?