python - DataFrame 的 Pandas 子集,每个类具有固定数量的值
问题描述
我有一个df
包含 columnID
和 column的 pandas DataFrame Type
。这是一个例子:
print(df)
>>
+---------+---------+
| ID| Type|
+---------+---------+
| AAA| A|
| BBB| B|
| CCC| B|
| DDD| A|
| EEE| B|
| FFF| A|
| GGG| B|
+---------+---------+
从那个 DataFrame 中,我想提取一个子 DataFrame,其中X
每个Type
.
这是前面的示例(顺序无关紧要):
X = 2
new_df = do_something(df, X)
print(new_df)
>>
+---------+---------+
| ID| Type|
+---------+---------+
| AAA| A|
| DDD| A|
| BBB| B|
| CCC| B|
+---------+---------+
有没有一种简单的方法可以做到这一点?
解决方案
使用pandas.DataFrame.groupby.head
:
import pandas as pd
df.groupby('Type').head(2)
输出:
ID Type
0 AAA A
1 BBB B
2 CCC B
3 DDD A
推荐阅读
- indexing - 对netbeans“启用源自动扫描”选项感到困惑
- r - 在 R 中将数值数据变量更改为日期格式以合并两个数据集
- python - NameError:名称“文件”未定义。在使用 tkinter 线程时
- powershell - 未为 PS Core RunspacePool 调用 InitialSessionState 中的 StartupScripts
- pandas - Pandas 数据框将特征划分为高相关性组
- java - 如何将数据从 DATA 类中的方法发送到 guiTest 类中的 jTextArea
- ruby-on-rails - 数组作为 Rails.cache.fetch 方法中的第一个参数
- scala - 你能在 Scala 中拥有一系列案例对象吗?
- c++ - R_X86_64_PLT32的地址是怎么计算的?
- dialogflow-es - 避免在 Dialogflow 中将货币转录为符号