python - 使用 Pandas 按用户名选择行

标签 python excel python-3.x pandas python-2.7

我有一个包含多个用户和属于他们的数据的表。 enter image description here

现在我想为每个用户创建单独的表,如下所示:

enter image description here

属于用户的每个帐户都有不同的 ID,因此我无法使用 ID 进行选择。

如何选择“用户”行中属于某个特定名称的所有行,然后创建单独的表?

此外,我想从列中取出数据并将其排序到两个新列中。

一个例子是这样的电子邮件: John.tomson@email.com 并将其在点处拆分并创建两个新列“姓名”和“姓氏”。 enter image description here

最佳答案

分割 用户

df.groupby('User').get_group('John')

   ID  User                  Email
0   1  John  john.tomson@email.com
1   2  John  john.tomson@email.com
2   3  John  john.tomson@email.com

也可以循环完成

grp = df.groupby('User')

for group in grp.groups:
    print(grp.get_group(group))

                   Email  ID   User
3  david.matty@email.com   4  David
4  david.matty@email.com   5  David
                   Email  ID  User
5  fred.brainy@email.com   6  Fred
                   Email  ID  User
0  john.tomson@email.com   1  John
1  john.tomson@email.com   2  John
2  john.tomson@email.com   3  John
<小时/>

拆分 电子邮件

email_df = df['Email'].str.split(r'(.+)\.(.+)@', expand=True)]
pd.concat([df, email_df], axis=1)

                   Email  ID   User      0       1          2
0  john.tomson@email.com   1   John   john  tomson  email.com
1  john.tomson@email.com   2   John   john  tomson  email.com
2  john.tomson@email.com   3   John   john  tomson  email.com
3  david.matty@email.com   4  David  david   matty  email.com
4  david.matty@email.com   5  David  david   matty  email.com
5  fred.brainy@email.com   6   Fred   fred  brainy  email.com

关于python - 使用 Pandas 按用户名选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53677857/

相关文章:

python - 保存绘图时更改 Matplotlib 图窗口的分辨率?

如果有 VBA 宏,Excel VSTO 无法加载

Python电话类---打印无

python - 我想在另一个函数中使用一个函数的返回值,而无需再次运行该函数。 (Python)

python - 从 Java 到 python 的 POST 请求重制获取 null

python - tkinter 无法正确识别屏幕分辨率

python - 将 Trie 树节点作为参数传递 - 不起作用

Python argparse 整数条件 (>=12)

excel - 如何将excel公式转换回文本字符串?

linux - 在 Linux 中使用命令行将 xlsx 转换为 csv