为某一列赋值,值为list
时间: 2024-03-18 13:38:55 浏览: 13
可以使用 pandas 库中的 DataFrame 类的 loc 或者 iloc 属性来为某一列赋值,值为 list。示例如下:
```python
import pandas as pd
# 创建示例数据
data = {
'name': ['张三', '李四', '王五'],
'age': [20, 22, 18]
}
df = pd.DataFrame(data)
# 给某一列赋值,值为 list
df.loc[:, 'grade'] = ['A', 'B', 'C']
print(df)
```
输出结果为:
```
name age grade
0 张三 20 A
1 李四 22 B
2 王五 18 C
```
在上面的代码中,我们使用 loc 属性选取所有行和指定列名 'grade',然后给这一列赋值为 ['A', 'B', 'C']。如果要根据列的索引(位置)来赋值,可以使用 iloc 属性,示例如下:
```python
df.iloc[:, 2] = ['A', 'B', 'C']
print(df)
```
输出结果与上面相同。
相关问题
为某一列赋值,值为list格式
你可以使用 Pandas 库中的 DataFrame 类的 loc 或者 iloc 属性来为某一列赋值,值为 list 格式。具体实现方法如下:
```python
import pandas as pd
# 创建示例数据
data = {
'name': ['张三', '李四', '王五'],
'age': [20, 22, 18]
}
df = pd.DataFrame(data)
# 给某一列赋值,值为 list 格式
df.loc[:, 'grade'] = [['A', 'A-', 'B+'], ['B', 'B-', 'C'], ['C+', 'B-', 'A']]
print(df)
```
输出结果为:
```
name age grade
0 张三 20 [A, A-, B+]
1 李四 22 [B, B-, C]
2 王五 18 [C+, B-, A]
```
在上面的代码中,我们使用 loc 属性选取所有行和指定列名 'grade',然后给这一列赋值为包含 list 的 list。如果要根据列的索引(位置)来赋值,可以使用 iloc 属性,示例如下:
```python
df.iloc[:, 2] = [['A', 'A-', 'B+'], ['B', 'B-', 'C'], ['C+', 'B-', 'A']]
print(df)
```
输出结果与上面相同。
pandas某列存为list
可以使用pandas的tolist()方法将某列数据存为list。具体操作如下:
假设我们要将dataframe的'column_name'列存为列表,代码如下:
```python
import pandas as pd
df = pd.read_csv('your_file.csv') # 读取csv文件,创建dataframe
column_list = df['column_name'].tolist() # 将column_name列转换为列表
print(column_list)
```
其中,tolist()方法可以将一个Series对象转换为Python列表。在上面的代码中,我们使用tolist()方法将'df'中的'column_name'列转换为列表,并将其赋值给变量'column_list'。最后,我们打印出'column_list'来验证是否成功转换。