1.array转换为DataFrame

import numpy as np
import pandas as pd
array_demo= np.random.randn(2,4)
df = pd.DataFrame(array_demo)

# 将多个一维合并df
df = pd.DataFrame()
arr5=np.array([1,1,2,2])
arr6=np.array([3,3,4,4])
arr3=np.array([3,3,4,4])
df["arr3"] = arr3
df["arr5"] = arr5
df["arr6"] = arr6
print(df)

 2 DataFrame转换为array

import numpy as np
import pandas as pd
mmm = np.array(df)

3 增加,删除,插入,合并

append()
 1 在数据末尾做追加,有返回值,不改变原来数组的结构
 2 如果是多维数组,append后变成一维数组,在末尾添加
 3 如果是多维数组添加多维数组,append后也变成一维数组
a = np.array([[1,2,3],[4,5,6]])
result = np.append(a, np.array([[7,8,9],[4,5,6]]))

insert()

   1 多维数组在指定位置上加入一个值,默认当作一维数组进行操作,返回一维数组
   2 添加的value值是一个一维数组或列表或单个值,不能插入多维数组
   3 如果要往多维数组中添加值,需要指定axis,并且添加的行或者列元素长度和插入的元素长度相同,否则报错

a = np.array([[1,2,3],[4,5,6]])
result = np.insert(a, 0, [99])
result = np.insert(result, 1, 66)

 delete()

1 多维数组不指定axis会改变多维数组为一维数组,指定axis可以删除一行或者一列

arr3=np.arange(20).reshape(4,5)
print('#####arr3不指定 axis ')
print(arr3)
print(np.delete(arr3,0))
print('#####arr3指定 axis 0删除行 1 删除列#########')
print(np.delete(arr3, 3, axis=0))
print(np.delete(arr3, 3, axis=1))

concatenate()

1 多维数组axis指定行或者列合并

2 行列相加时,对应格式一致

arr5=np.array([[1,1],[2,2]])
arr6=np.array([[3,3],[4,4]])

print(np.concatenate((arr5,arr6))) # mo默认axis=0
# print(np.concatenate((arr5,arr6), axis=0))
print(np.concatenate((arr5,arr6, arr3), axis=0))
print(np.concatenate((arr5,arr6), axis=1))
# print(np.concatenate((arr5,arr6, arr3), axis=1))

4 np默认值填充

   1 numpy 创建默认值数组创建方阵 

   2 补充空值(指定值)

data = data.replace(to_replace = "?", value = np.nan)
data.dropna(inplace = True)
data.isnull().any()

   3 特殊值

5 pd默认值填充

1. 用固定值填充

  data['灰度分'] = data['灰度分'].fillna('-99')

2. 用均值填充

  data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mean()))

3. 用众数填充

  与均值类似,可以用未缺失数据的众数来填充缺失值

  data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mode()))

4. 用上下数据进行填充

   用前一个数据进行填充

   data['灰度分'] = data['灰度分'].fillna(method='pad')

   用后一个数据进行填充

    data['灰度分'] = data['灰度分'].fillna(method='bfill')

5. 用插值法填充

   data['灰度分'] = data['灰度分'].interpolate()

6. 用KNN进行填充

    from fancyimpute import BiScaler, KNN, NuclearNormMinimization, SoftImpute

    dataset = KNN(k=3).complete(dataset)

参考: pandas numpy处理缺失值,none与nan比较

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐