针对pandas的操作,记录如下,包括创建和遍历
pip install pandas==2.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install openpyxl==3.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install xlrd==2.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
import pandas as pd
import numpy as np
print('-------------------1-------------------')
1. 使用列表创建 DataFrame
data = [['1', 11], ['2', 12], ['3', 13]]
df = pd.DataFrame(data, columns=['第一列表头', '第二列表头'])
df['第一列表头'] = df['第一列表头'].astype(str) # 使用astype方法设置每列的数据类型
df['第二列表头'] = df['第一列表头'].astype(float)
print(df)
print('-------------------2-------------------')
2. 使用字典创建 DataFrame
data = {'第一列表头':['1', '2', '3'], '第二列表头':[11, 12, 13]}
df = pd.DataFrame(data)
print (df)
data = [{'第一列表头':'1', '第二列表头': 11},{'第一列表头':'2'}]
df = pd.DataFrame(data)
print ('2=', df)
print('--------------------3------------------')
3. 使用ndarrays创建DataFrame
ndarray_data = np.array([
['1', 11],
['2', 12],
['3', 13]
])
df = pd.DataFrame(ndarray_data, columns=['第一列表头', '第二列表头'])
print (df)
print('--------------------4------------------')
#Pandas 可以使用 loc 属性返回指定行的数据,如果没有设置索引,第一行索引为 0, 第二行索引为 1, 以此类推
print(df.loc[0]) # 返回第一行
print(df.loc[1]) # 返回第二行
print('--------------------5------------------')
#也可以返回多行数据,使用 [[ ... ]] 格式,... 为各行的索引,以逗号隔开
#返回第一行和第三行 print(df.loc[[0, 2]])
print(df.loc[:])
print('--------------------6------------------')
print(df['第一列表头'][0]) # 访问单个元素
print('--------------------7------------------')
#循环遍历每一行 df.iterrows() 循环遍历每一列 df.iteritems()
for index, row in df.iterrows():
print(f'---------------------------------Index: {index}------------------------------------')
for column_name in df.columns:
cell_value = row[column_name]
print(f"Column: {column_name}, Value: {cell_value}")
print('--------------------8-------------itertuples()可能提供更好的性能-----')
for row in df.itertuples(index=True, name='Pandas'):
print(f'Index: {row.Index}, {row.第一列表头}, {row.第二列表头}')