# Other data edit

## 資料去重複

```python
# data去除「data中重複的資料」
data = data[~data.duplicated()]
# data重新指向(=) data中取出([])「data重複值」之外的值

data = data.drop_duplicates() #data去除重複資料
data.drop_duplicates(inplace=True) #data去除重複資料(直接修改data本人)
```

上三行執行結果data是完全一樣的!

## 取代

### 轉換其中所有None值

```python
df = df.fillna('')  # 將None值替換為空字串
```

#### 指定列進行None轉換

參數可以傳入dist選定某欄進行。

```python
df = df.fillna({'your_column': ''})  # 僅對「your_column」這一欄中的None進行轉換
```

### replace

可以用replace取代所有欄位中指定值成目標。

```python
df = df.replace('a', 'A')

# 如果想取代成None，需要用dict{}模式參數，不然會無效果！
df = df.replace({'x', None})

# 取代掉X欄中所有「\n」
df['X'] = df['X'].apply(lambda x: x.replace('\n', ''))
```

## 合併

### append

<pre class="language-python"><code class="lang-python">#new一個空的DataFrame
result = pd.DataFrame()

#do something取得的DataFrame
temp = getData()

#串接放入(ignore_index=True 會捨棄原本DataFrame的index為其分配新索引。)
<strong>result = result.append(temp, ignore_index=True)
</strong></code></pre>

### concat

有類似DB.table的join功能

參考：<http://violin-tao.blogspot.com/2017/06/pandas-2-concat-merge.html>
