我試圖在不丟失最后一行的情況下將 .csv 中的某些行向下移動。假設您使用df.shift(1),它將回傳移動的資料幀,洗掉最后一行資料。我想要的是在不丟失最后一行資料的情況下進行轉換。
原始(資料):
example1,example1
example2,example2
example3,example3
之后會發生什么data.shift(1):
NaN,NaN
example1,example1
example2,example2
我想要什么:
NaN,NaN
example1,example1
example2,example2
example3,example3
也許在填充的末尾創建一行NaN可以解決這個問題?(我不知道如何用 填充單元格NaN)。
這是我選擇某些行的實際代碼:
import pandas
data = pandas.read_csv('path/test.csv', header=False,
yes = data.iloc[2:3].shift(1)
print(yes)
輸出:
NaN,NaN
example2,example2
uj5u.com熱心網友回復:
從...開始:
0 1
0 example1 example1
1 example2 example2
2 example3 example3
正在做:
import pandas as pd
import numpy as np
# Version 1:
df.index = 1
df.loc[0] = np.nan
df = df.sort_index()
# Version 2:
df.loc[-1] = np.nan
df = df.sort_index().reset_index(drop=True)
輸出:
0 1
0 NaN NaN
1 example1 example1
2 example2 example2
3 example3 example3
uj5u.com熱心網友回復:
采取添加一行的方法:
df = pd.DataFrame([['example1','example1'],['example2','example2'],['example3','example3']])
row = ['blank','blank']
df.loc[len(df)] = row
給出:
0 1
0 example1 example1
1 example2 example2
2 example3 example3
3 blank blank
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/495892.html
