繁体   English   中英

Pandas DataFrame:分组行?

[英]Pandas DataFrame: Grouping Rows?

我正在努力完成的两个挑战。

  1. A DataFrame 同一家公司连续上市 2 行。 与每家公司关联的第一行与 Apple (iOS) 相关,第二行与 Android 相关。
  • 我需要将“应用程序视图”列表示为 int,然后其他列将是视图的 %。 (因此,如果有 5000 次应用查看,Apple 的下一列将是安装,我想显示查看该应用然后安装它的用户的百分比)。 为此,除了安装之外,我还需要几列,但为了简短起见,我只是像这样离开它

这是挑战的第一部分。 对于挑战的第二部分:

  1. 我真的需要能够制作一个充满假数据的大 DataFrame。 也许是Faker? 需要填充假数据的方式是使用随机值。 所以对于每家公司,我需要一个随机数作为 Apple Views,然后一个 0 用于 Android,在下一行中,一个随机数用于 Android 视图,一个 0 用于 Apple。 然后,我需要获取这些视图的 %,并为下一列随机选择 %。

该表是我正在寻找的结果:

(如果在 python 中这样做似乎是一个糟糕的主意,并且在 excel 中更容易做到,那么这也是一个很好的答案,如果是这样的话,只需要有人可以指出我正确的方向,然后我可以将 a.ZCC8D68C551C4A9AFDZDE531 导入到一个 DataFrame )

   Company Name     Apple App Views  Apple Install   Droid View  DoidInstall
0    Zynga               5000             0.50          0.00         0.00
1    Zynga               0                0             15000        0.33
2    EA Mobile           22000            0.57          0.00         0.00
3    EA Mobile           0                0             26000        0.49

 

              
import numpy as np
import pandas as pd

# create array with selected values
app_views = [4000, 2222, 9999]
app_install = [0, 0.3, 0.83]

# generate a numpy array with 3 random integeres between 1000 to 10,000
random_app_views = np.random.randint(1000, 10000, size=3)

# generate a numpy array with 3 random numbers between 0 to 1
random_app_install = np.random.uniform(0, 1, size=3)

df = pd.DataFrame({
     'app_views': app_views,
     'app_install_rate': app_install,
     'random_app_views': random_app_views,
     'random_app_install': random_app_install
})

将产生一个 DataFrame 像:

app_views 应用安装 random_app_views random_app_install
0 4000 0.00 2196 0.626350
1 2222 0.30 6917 0.412264
2 9999 0.83 3291 0.303517

希望这就足够了,祝你好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM