如果Pandas DataFrame有多个具有分类值(0或1)的列,是否可以方便地同时获取每列的value_counts?
例如,假设我生成一个DataFrame,如下所示:
import numpy as np
import pandas as pd
np.random.seed(0)
df = pd.DataFrame(np.random.randint(0, 2, (10, 4)), columns=list('abcd'))
Run Code Online (Sandbox Code Playgroud)
我可以像这样得到一个DataFrame:
a b c d
0 0 1 1 0
1 1 1 1 1
2 1 1 1 0
3 0 1 0 0
4 0 0 0 1
5 0 1 1 0
6 0 1 1 1
7 1 0 1 0
8 1 0 1 1
9 0 1 1 0
Run Code Online (Sandbox Code Playgroud)
如何方便地获取每列的值计数并方便地获得以下内容?
a b c d
0 …Run Code Online (Sandbox Code Playgroud) 从官方的seaborn文档中,我了解到您可以创建如下框图:
import seaborn as sns
sns.set_style("whitegrid")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", data=tips)
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何限制该图的y轴范围?例如,我希望y轴在[10,40]之内.有没有简单的方法来做到这一点?
我在一个文件夹中有数亿个小的纯文本文件.我想将它们合并到一个大文件中并进行一些处理.最快的方法是什么?目前,我有以下代码:
#!/bin/bash
FOLDER="some-folder"
TARGET="target-file"
FILES=`find $FOLDER -name "*.txt"`
for f in $FILES
do
cat $f | ./some-processing-script.pl >> $TARGET
done
Run Code Online (Sandbox Code Playgroud)
虽然这适用于少量文件.当它实际用于处理大量文件时,在目标文件大于25G左右后变得非常慢.我认为是因为cat ... >> $TARGET在将新内容附加到目标末尾之前必须扫描每个新输入文件的整个当前目标文件.
我知道如何使用java或python来解决这个问题.我很好奇我是否能在bash中解决这个问题.谢谢.