用python实现,从list中取指定name的几列组成新的list
时间: 2024-09-07 09:05:10 浏览: 48
在Python中,如果你有一个列表,每个元素是一个字典,其中包含多个键值对,你可以通过循环遍历这个列表并根据`name`键来提取特定列。这里是一个简单的示例:
```python
# 假设原始数据是这样的一个二维字典列表
data = [
{'name': 'John', 'age': 30, 'city': 'New York'},
{'name': 'Jane', 'age': 25, 'city': 'Chicago'},
{'name': 'Mike', 'age': 35, 'city': 'Los Angeles'}
]
def extract_columns_by_name(lst, name_column):
new_list = []
for item in lst:
if name_column in item: # 检查是否存在指定的name列
new_list.append(item[name_column]) # 提取该列的值
return new_list
# 取出所有人名,假设name_column是我们想要的列名
names = extract_columns_by_name(data, 'name')
print(names) # 输出: ['John', 'Jane', 'Mike']
相关问题
如何将excel数据中的某几列导入python,数据从excel第三行开始。其中数据的列名称是excel第一行
您可以使用 Pandas 库中的 read_excel() 方法将 Excel 文件读取为 Pandas DataFrame 对象,然后使用 loc() 方法来选择感兴趣的列。
下面是一个示例代码:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('your_excel_file.xlsx', header=2)
# 选择感兴趣的列(假设选择第1列和第3列)
selected_columns = df.loc[:, ['column_name_1', 'column_name_3']]
# 将选定的列转换为 Python list
data = selected_columns.values.tolist()
# 打印输出数据(前10行)
print(data[:10])
```
在上面的示例代码中,您需要将 `your_excel_file.xlsx` 替换为您实际使用的 Excel 文件名,将 `column_name_1` 和 `column_name_3` 替换为您实际需要选择的列名称。打印输出的结果将是一个 Python list,其中包含选定列的所有数据(从第三行开始)。
python循环计算excle中第1列和后面几列的皮尔逊相关系数、RMSE、MSE、MAE,并写入到excel的sheet3中
好的,这个问题可以回答。以下是代码示例:
```python
import pandas as pd
from scipy.stats import pearsonr
from sklearn.metrics import mean_squared_error, mean_absolute_error
# 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 计算皮尔逊相关系数
corr_list = []
for col in df.columns[1:]:
corr, _ = pearsonr(df.iloc[:, 0], df[col])
corr_list.append(corr)
# 计算RMSE、MSE、MAE
rmse_list = []
mse_list = []
mae_list = []
for col in df.columns[1:]:
rmse = mean_squared_error(df.iloc[:, 0], df[col], squared=False)
mse = mean_squared_error(df.iloc[:, 0], df[col])
mae = mean_absolute_error(df.iloc[:, 0], df[col])
rmse_list.append(rmse)
mse_list.append(mse)
mae_list.append(mae)
# 将结果写入Excel的Sheet3中
result_df = pd.DataFrame({'Pearson Correlation': corr_list,
'RMSE': rmse_list,
'MSE': mse_list,
'MAE': mae_list})
result_df.to_excel('data.xlsx', sheet_name='Sheet3', index=False)
```
希望这个代码示例能够帮到你!
阅读全文