python np去除重复数据列
时间: 2023-10-13 22:17:05 浏览: 42
可以使用numpy库中的unique函数,设置参数axis=1,即按列进行去重。例如:
```python
import numpy as np
arr = np.array([[1, 2, 3, 4], [1, 2, 5, 4], [1, 2, 3, 4]])
arr = np.unique(arr, axis=1)
print(arr)
```
输出结果为:
```
[[1 2 3]
[4 5]]
```
其中,第一列和第三列是重复的,被去除掉了。
相关问题
Python数据清洗重复值处理
Python中,可以使用以下方法来清洗重复值:
1. 使用set()函数将列表转换为集合,因为集合不允许重复值。
```python
mylist = [1, 2, 3, 3, 4, 5, 5]
new_list = set(mylist)
print(new_list) # {1, 2, 3, 4, 5}
```
2. 使用pandas库中的drop_duplicates()函数删除DataFrame中的重复行。
```python
import pandas as pd
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': [1, 2, 1, 2, 1, 1]})
df.drop_duplicates(inplace=True)
print(df)
```
输出:
```
A B
0 foo 1
1 bar 2
```
3. 使用numpy库中的unique()函数查找数组中的唯一值。
```python
import numpy as np
arr = np.array([1, 2, 3, 3, 4, 5, 5])
new_arr = np.unique(arr)
print(new_arr) # [1 2 3 4 5]
```
用Python编写OD调查数据分析程序
由于OD调查数据的复杂性,编写一个完整的数据分析程序需要考虑很多因素。以下是一个基本结构,可以根据需要进行修改和扩展。
1. 导入数据
首先需要导入OD调查数据,通常为Excel或CSV格式。可以使用Pandas库中的read_excel或read_csv函数进行导入。
```python
import pandas as pd
# 导入Excel文件
df = pd.read_excel('OD调查数据.xlsx')
# 导入CSV文件
df = pd.read_csv('OD调查数据.csv')
```
2. 数据清洗
导入数据后需要进行数据清洗,包括去除重复数据、处理缺失值、转换数据类型等等。可以使用Pandas库中的drop_duplicates、fillna、astype等函数进行数据清洗。
```python
# 去除重复数据
df.drop_duplicates(inplace=True)
# 处理缺失值
df.fillna(0, inplace=True)
# 转换数据类型
df['出发时间'] = pd.to_datetime(df['出发时间'])
```
3. 数据分析
完成数据清洗后,就可以进行数据分析了。根据需要,可以进行各种分析,例如计算OD之间的距离、分析出发时间和到达时间的分布等等。可以使用NumPy、SciPy、matplotlib等库进行数据分析和可视化。
```python
import numpy as np
import matplotlib.pyplot as plt
# 计算OD之间的距离
df['距离'] = np.sqrt((df['出发经度'] - df['到达经度'])**2 + (df['出发纬度'] - df['到达纬度'])**2)
# 绘制出发时间的分布
plt.hist(df['出发时间'].dt.hour, bins=24)
plt.xlabel('Hour')
plt.ylabel('Count')
plt.show()
```
4. 结果输出
最后需要将分析结果输出,可以保存为Excel或CSV格式,也可以输出为图表或PDF文件。
```python
# 保存为Excel文件
df.to_excel('OD调查数据_分析结果.xlsx', index=False)
# 绘制OD之间距离的分布图
plt.hist(df['距离'], bins=50)
plt.xlabel('Distance')
plt.ylabel('Count')
plt.savefig('OD距离分布图.png')
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)