当前位置: 首页 > 工具软件 > dataframe-js > 使用案例 >

python dataframe

糜运良
2023-12-01

dataframe为pandas中的数据格式,通常用来存储时间序列数据,比如K线数据,这在量化分析时通常用到。

1、创建dataframe

import pandas as pd
df0 = pd.DataFrame([[1,2,3,4],[5,6,7,8]], columns=['a', 'b', 'c', 'd'])

2、读取csv文件为dataframe格式,或保存为csv文件

df0 = pd.read_csv(data_path)
df0.to_csv(data_path, index=False, encoding = 'utf-8')
#index = False表示不保存索引

3、获取column列栏目名称,行索引名,全部数值

df0.columns
df0.index
print(df0.values)
print(7 in df0.values)

4、行列数量查询

返回列数:
df.shape[1]
返回行数:
df.shape[0]
或者:
len(df)

5、修改行列索引名称

df0.index = df0['列名']
df0.rename(columns={'原名称':'新名称'},inplace=True)

6、iloc索引,整数数值索引

df0.iloc[:3, 0:2]
df0.iloc[:3, 0:2].values

7、判断是否有缺失值nan

df.isnull().any() 用来判断某列是否有缺失值
df.isnull().all() 用来判断某列是否全部为空值
df.dropna()默认删除了含有缺失值的所有行,如果我们只需要把某一行所有数据为缺失值的才删除,那么需要用how=‘all’进行限制,如df2.dropna(how='all')
如果要删除DataFrame的缺失值所在的列,那么只需加上axis=1即可

8、按列进行排序

df2 = df1.sort_values(by=['列名'], ascending = [True]) #升序排列

9、交集并集补集

df1 = DataFrame([['a', 10, '男'], 
                 ['b', 11, '男'], 
                 ['c', 11, '女'], 
                 ['a', 10, '女'],
                 ['c', 11, '男']], 
                columns=['name', 'age', 'sex'])

df2 = DataFrame([['a', 10, '男'], 
                 ['b', 11, '女']],
                columns=['name', 'age', 'sex'])

取交集:print(pd.merge(df1,df2,on=['name', 'age', 'sex']))
取并集:print(pd.merge(df1,df2,on=['name', 'age', 'sex'], how='outer'))
取差集(从df1中过滤df1在df2中存在的行):
df1 = df1.append(df2)
df1 = df1.append(df2)
df1 = df1.drop_duplicates(subset=['name', 'age', 'sex'],keep=False)
print(df1)

 类似资料:

相关阅读

相关文章

相关问答