panda 找到A列中 内容为b的行,添加B列的内容
时间: 2024-03-14 10:47:41 浏览: 17
要找到 pandas 数据框中某一列(例如 A 列)中内容为特定值(例如 'b')的行,并且在这些行中添加一个新列(例如 B 列)的值,可以使用以下代码:
```python
import pandas as pd
# 创建一个示例数据框
df = pd.DataFrame({'A': ['a', 'b', 'c', 'b'], 'B': [1, 2, 3, 4]})
# 找到 A 列中内容为 'b' 的行,并添加 B 列的值
rows = df[df['A'] == 'b']
rows['C'] = 5
print(rows)
```
这里使用了与上一个问题类似的方法找到 A 列中内容为 'b' 的行。然后,我们可以使用普通的列索引来添加一个名为 C 的新列,并将其值设置为 5。需要注意的是,新列的长度必须与原来的行数相等,否则会抛出 `ValueError: Length of values does not match length of index` 异常。
输出的结果如下:
```
A B C
1 b 2 5
3 b 4 5
```
这两行是 A 列中内容为 'b' 的行,并且添加了一个名为 C 的新列,其值都为 5。
相关问题
panda 找到A列中 内容为b的行,添加改行第2列的内容
要找到 pandas 数据框中某一列(例如 A 列)中内容为特定值(例如 'b')的行,并且在这些行中添加该行第二列(例如 B 列)的值,可以使用以下代码:
```python
import pandas as pd
# 创建一个示例数据框
df = pd.DataFrame({'A': ['a', 'b', 'c', 'b'], 'B': [1, 2, 3, 4]})
# 找到 A 列中内容为 'b' 的行,并添加该行第二列的值
rows = df[df['A'] == 'b']
rows['C'] = rows['B']
print(rows)
```
这里使用了与上一个问题类似的方法找到 A 列中内容为 'b' 的行。然后,我们可以使用普通的列索引来添加一个名为 C 的新列,并将其值设置为该行第二列(B 列)的值。需要注意的是,新列的长度必须与原来的行数相等,否则会抛出 `ValueError: Length of values does not match length of index` 异常。
输出的结果如下:
```
A B C
1 b 2 2
3 b 4 4
```
这两行是 A 列中内容为 'b' 的行,并且添加了一个名为 C 的新列,其值分别为 2 和 4,即该行第二列(B 列)的值。
panda新建frame,并逐步在其中添加行,列数量和名称不定
要创建一个空的 Pandas 数据框,并逐步添加行,且列数量和名称不定,可以使用以下代码:
```python
import pandas as pd
# 创建一个空的数据框
df = pd.DataFrame()
# 逐步添加行
df = df.append({'A': 1, 'B': 2, 'C': 3}, ignore_index=True)
df = df.append({'A': 4, 'B': 5}, ignore_index=True)
df = df.append({'B': 8, 'C': 9}, ignore_index=True)
print(df)
```
在这个示例中,我们首先使用 `pd.DataFrame()` 函数创建一个空的数据框,其中不包含任何列名或行。然后,我们使用 `.append()` 方法逐步添加行。
`.append()` 方法需要一个字典作为参数,其中包含列名和对应的值。由于列数量和名称不定,我们可以在每一行中指定不同的列名和值。我们还使用 `ignore_index=True` 参数来确保新添加的行始终具有唯一的行索引。
输出的结果如下:
```
A B C
0 1.0 2.0 3.0
1 4.0 5.0 NaN
2 NaN 8.0 9.0
```
这里我们添加了三行,每一行的列数量和名称都不同。注意,由于第二行只包含两个值,因此在第三列中自动填充了一个 NaN 值。你可以像上面的示例一样继续添加更多的行,只需要重复 `.append()` 方法即可。