Cha*_* CB 1 python loops dataframe pandas
我有一个 Python 数据框,我想按行细分,但分成 32 个不同的切片(想象一个大数据集按行切成 32 个较小的数据集)。我可以通过这种方式手动划分数据框:
df_a = df[df['Type']=='BROKEN PELVIS']
df_b = df[df['Type']=='ABDOMINAL STRAIN']
Run Code Online (Sandbox Code Playgroud)
我假设有人可能想分享一个更加Pythonic 的表达式。我正在寻找类似的东西:
for i in new1:
df_%s= df[df['#RIC']=='%s'] , %i
Run Code Online (Sandbox Code Playgroud)
希望这是有道理的。
在这种情况下,我认为将 DataFrame 存储在 python 字典中更符合 Python 风格:
\n\ninjuries = {injury: df[df[\'Type\'] == injury] for injury in df[\'Type\'].unique()}\n\ninjuries[\'BROKEN PELVIS\'] #\xc2\xa0is the same as df_a above\nRun Code Online (Sandbox Code Playgroud)\n\n大多数时候你不需要创建一个新的DataFrame,但可以使用groupby(这取决于你接下来要做什么),请参阅http://pandas.pydata.org/pandas-docs/stable/groupby .html:
\n\ng = df.groupby(\'Type\')\nRun Code Online (Sandbox Code Playgroud)\n\n更新:实际上有一种方法get_group可以访问这些:
In [21]: df = pd.DataFrame([[\'A\', 2], [\'A\', 4], [\'B\', 6]])\n\nIn [22]: g = df.groupby(0)\n\nIn [23]: g.get_group(\'A\')\nOut[23]:\n 0 1\n0 A 2\n1 A 4\nRun Code Online (Sandbox Code Playgroud)\n\n注意:大多数时候你不需要这样做,应用、聚合和转换就是你的朋友!
\n| 归档时间: |
|
| 查看次数: |
2421 次 |
| 最近记录: |