Python Pandas基础数据处理方法总结

目录

一、提取数据

1. 从csv文件

pd.read_csv('/home/xxx/xxxx_0818.csv')

2. 从数据仓库

# 需要配置
spark.sql('''
select * from tbl
where member_id = '001'
''').toPandas()

二、新建

1. DataFrame

# 一共三列,列名:feature,ex,pvalue:
pd.DataFrame({'feature':[], 'ex':[], 'pvalue':[]}
# 带数据:
pd.DataFrame({'feature':index, 'ex':example, 'pvalue':p, 'chi':chi}, index = [1])

三、数据筛选

1. 判断空值

df_new[df_new['col1'].isnull() == False]

2. 根据一列数据筛选

dataframe[dataframe['col1']<0.05]

四、表之间

1. 横向合并(列相同情况下)

df_orig = df_orig.append(df_new, ignore_index=True)

2. 纵向合并

cols = gender.join(is_married)
cols = basic.join(age_segment1)

3. merge

member_level_merge = pd.merge(member_level, m_info, on = 'member_id', how = 'left')

五、表内

1. 排序

dataframe.sort_values(['col1'], ascending = False)

2. 去重

dataframe.drop_duplicates('member_id')

3. 分组计数

table['date_difference'].value_counts()
table.groupby('date_difference).size()

4. groupby( )

在这里插入代码片

5. iloc( )

table.iloc[:, 0:3]  # 第一至三列

6. 循环每列

for index, row in dataframe.iteritems():
	print(index)    # 打印每列的列名

或者

for col in df.columns:
	print(index)     # 打印每列的列名

7. 删除/选取列

X = df.drop(['col1', 'col2', 'col3'], axis=1)  # 删除列
y = df.label   # 选取列

五、统计学相关

1. crosstable

pd.crosstab(label, feature, margins=True)

2. 卡方检验

# p-value
scipy.stats.chi2_contingency(cross_table)[1]
# chi^2
scipy.stats.chi2_contingency(cross_table)[0]

3. SelectKBest

from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
skb = SelectKBest(chi2, k=2)
skb = skb.fit(cols, feat)
skb.get_support()

五、Jupyter Notebook相关

1. 展示所有行/所有列

# 所有行
pd.set_option('display.max_rows', None)
# 所有列
pd.set_option('display.max_columns', None)
上一篇:使用随机森林与Xgboost回归对手游《率土之滨》账号进行价格预测


下一篇:深度可分离卷积