df = pd.DataFrame({'col1': ['A', 'A', 'B', 'B', 'C'], 'col2': [1, 2, 3, 4, 5]}) 怎么让col1重复项只展示一次 col1的5个元素都展示
时间: 2023-07-16 19:15:23 浏览: 94
可以使用 `drop_duplicates` 方法去除 `col1` 的重复项,然后使用 `groupby` 和 `apply` 方法将每个组内的 `col2` 值合并为一个列表。示例如下:
```python
import pandas as pd
df = pd.DataFrame({'col1': ['A', 'A', 'B', 'B', 'C'], 'col2': [1, 2, 3, 4, 5]})
# 去除 col1 的重复项
df_unique_col1 = df.drop_duplicates(subset=['col1'])
# 对每个组内的 col2 值进行合并
df_result = df.groupby('col1')['col2'].apply(list).reset_index()
# 将去重后的 col1 列与合并后的 col2 列合并
df_result = pd.merge(df_unique_col1['col1'], df_result, on='col1', how='left')
print(df_result)
```
输出结果:
```
col1 col2
0 A [1, 2]
1 B [3, 4]
2 C [5]
```
其中,`[1, 2]` 表示 `col1` 为 `A` 的两个行的 `col2` 值分别为 `1` 和 `2`,依次类推。
相关问题
# SimpleImputer deal with missing value use mean imp = SimpleImputer(missing_values=np.nan, strategy='mean') df_train_col = df_train.columns df_test_col = df_test.columns df_train = imp.fit_transform(df_train) df_test = imp.fit_transform(df_test) df_train = pd.DataFrame(df_train, columns = df_train_col) df_test = pd.DataFrame(df_test, columns = df_test_col)
这段代码使用了Scikit-learn库中的SimpleImputer类来处理缺失值。首先,创建了一个SimpleImputer对象,指定了缺失值的标识为np.nan,替换策略为均值(strategy='mean')。接着,记录了数据集中的列名,以便后续恢复DataFrame格式。然后,对训练集和测试集分别进行均值填充处理,并将结果转换回DataFrame格式,并使用之前记录的列名进行列索引的恢复。这样,就可以在处理缺失值的同时保留数据集的完整性。
df = pd.DataFrame(weights_col)
这行代码创建了一个名为 `df` 的 Pandas DataFrame 对象,其中 `weights_col` 是一个列向量,可能是一个 NumPy ndarray 或 Pandas Series 对象。DataFrame 的每一列都可以有一个名称,但在这种情况下,由于没有指定名称,该列将默认命名为数字索引。如果您想要指定列名,可以使用 `df = pd.DataFrame(weights_col, columns=[your_column_names])`。
阅读全文
相关推荐
















