Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数据帧添加转换的行_Python_Pandas - Fatal编程技术网

Python 数据帧添加转换的行

Python 数据帧添加转换的行,python,pandas,Python,Pandas,我想扩展我的数据集 我有一个DataFrame,对于某些字段,我知道如何将它们的行转换为具有不同字段值的新行 例如,在我的例子中,我知道对于每一个男性程序员,你都可以为女性,数据科学家创建同一行。因为它们的其他特性将保持不变 Source.csv: +-----------------------------------+ | sex | work | salary | days | |------|------------|--------|------| | male | pr

我想扩展我的数据集

我有一个
DataFrame
,对于某些字段,我知道如何将它们的行转换为具有不同字段值的新行

例如,在我的例子中,我知道对于每一个
男性
程序员
,你都可以为
女性
数据科学家
创建同一行。因为它们的其他特性将保持不变

Source.csv

+-----------------------------------+
| sex  |    work    | salary | days |
|------|------------|--------|------|
| male | programmer |  1000  |  5   |
| male |     QA     |  1200  |  5   |
| male | programmer |  1500  |  4   |
+-----------------------------------+
+-----------------------------------------+
|  sex   |      work      | salary | days |
|--------|----------------|--------|------|
|  male  |   programmer   |  1000  |  5   |
|  male  |       QA       |  1200  |  5   |
|  male  |   programmer   |  1500  |  4   |
| female | data scientist |  1000  |  5   |
| female | data scientist |  1500  |  4   |
+-----------------------------------------+
输出应为

+-----------------------------------+
| sex  |    work    | salary | days |
|------|------------|--------|------|
| male | programmer |  1000  |  5   |
| male |     QA     |  1200  |  5   |
| male | programmer |  1500  |  4   |
+-----------------------------------+
+-----------------------------------------+
|  sex   |      work      | salary | days |
|--------|----------------|--------|------|
|  male  |   programmer   |  1000  |  5   |
|  male  |       QA       |  1200  |  5   |
|  male  |   programmer   |  1500  |  4   |
| female | data scientist |  1000  |  5   |
| female | data scientist |  1500  |  4   |
+-----------------------------------------+

如何复制包含
男性
程序员
的所有行,以便添加的行具有值
女性
数据科学家

通过比较使用布尔掩码进行筛选并创建一个,然后更改值并:



我将创建一个嵌套的dict来替换
male
programmer
append
df

dct = {'sex': {'male': 'female'}, 'work': {'programmer': 'data scientist'}}
df.append(df[df.sex.eq('male')&df.work.eq('programmer')].replace(dct), ignore_index=True)


Out[481]:
      sex            work  salary  days
0    male      programmer    1000     5
1    male              QA    1200     5
2    male      programmer    1500     4
3  female  data scientist    1000     5
4  female  data scientist    1500     4

@我希望我补充的例子足够了。我不知道要添加什么代码。