pandas某一列如何添加值
时间: 2023-06-21 21:07:18 浏览: 86
要添加值到 pandas 数据帧(DataFrame)的某一列,可以使用以下方法:
假设我们有一个名为 df 的 pandas 数据帧,并且我们要向其中名为 column_name 的列添加值 value:
```
import pandas as pd
# 创建一个包含三个元素的数据帧
df = pd.DataFrame({'column_name': [1, 2, 3]})
# 添加值到特定列
df['column_name'] = df['column_name'].append(pd.Series([value]), ignore_index=True)
```
在以上代码中,我们首先使用 pandas 创建了一个包含三个元素的数据帧。然后,我们使用 `df['column_name']` 选择了要添加值的列,并将其设置为一个新的序列,该序列由原始序列和要添加的值组成。最后,我们使用 `append()` 方法将新的序列添加到原始序列中。需要注意的是,我们必须使用 `ignore_index=True` 参数来确保新值被附加到序列末尾。
如果我们要添加多个值,可以将它们作为列表传递给 `pd.Series()` 方法,例如:
```
new_values = [4, 5, 6]
df['column_name'] = df['column_name'].append(pd.Series(new_values), ignore_index=True)
```
这将在 `column_name` 列末尾添加值 4、5 和 6。
相关问题
两个pandas,在一个pandas 寻找某一列值等于给定另一个pandas中的一列值,怎么输出符合条件的pandas
在Python的Pandas库中,你可以使用`merge()`或者`join()`函数来结合两个DataFrame,并基于某些列的匹配查找特定条件。假设我们有两个DataFrame `df1` 和 `df2`,并且你想找到 `df1` 中某列(比如 'column_name1')的值等于 `df2` 中另一列(比如 'column_name2')的值,可以这样做:
```python
# 假设 df1 和 df2 已经准备好了,这里为了例子简化数据
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'C', 'E', 'F'], 'value2': [5, 6, 7, 8]})
# 使用 merge() 函数,on 参数指定共同的关键列
merged_df = pd.merge(df1, df2, on='key', how='inner') # 或者使用 left_on, right_on 选择左连接或右连接
# 输出符合条件的DataFrame
print(merged_df)
```
在这个例子中,`how='inner'` 表示返回两个DataFrame交集部分,即在两列 'key' 上匹配到的行。
去和获取 pandas 某一列值相同的行的值
可以使用 Pandas 的布尔索引来获取某一列值相同的行的值。以下是一个示例代码:
```python
import pandas as pd
# 创建一个 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 30, 35, 40, 45],
'city': ['New York', 'Paris', 'London', 'Tokyo', 'Sydney']}
df = pd.DataFrame(data)
# 获取 age 列值为 35 的行的所有值
result = df[df['age'] == 35]
print(result)
```
输出结果为:
```
name age city
2 Charlie 35 London
```
以上代码中,我们使用布尔索引 `df['age'] == 35` 来获取 age 列值为 35 的行,然后将结果存储在变量 `result` 中。最后,我们打印出结果。
阅读全文