私はそれはそれはChristoph Terasaを説明する非常に素晴らしい、DataFrame
からNaN
を削除する問題だと思う:
pandas.DataFramesは、(N×Mの)長方形である必要があるので、欠損値は、作成時にはNaNで満たされます。
可能な解決方法の1つは、list comprehension
です。
df = pd.DataFrame([[2.0, 3.0, 5.0, np.nan],
[1.0, 3.0, 5.0, 6.0],
[2.0, 5.0, np.nan, np.nan]])
print (df)
0 1 2 3
0 2 3 5 NaN
1 1 3 5 6
2 2 5 NaN NaN
values
によってlist
に変換し、isnull
と条件によってNaN
を削除します。
は、このソリューションのためにあなた
Christoph Terasaありがとう:
a = [[j for j in i if not pd.isnull(j)] for i in df.values]
print (a)
[[2.0, 3.0, 5.0], [1.0, 3.0, 5.0, 6.0], [2.0, 5.0]]
私の古いソリューション:
df = pd.DataFrame([[2.0, 3.0, 5.0, np.nan],
[1.0, 3.0, 5.0, 6.0],
[2.0, 5.0, np.nan, np.nan]])
df = df.where((pd.notnull(df)), None)
print (df)
0 1 2 3
0 2 3 5 None
1 1 3 5 6
2 2 5 None None
がlist
L
に変換してからNone
を削除します。
あなたが最初NaN
None
に置き換えることができます。
L = [[2.0, 3.0, 5.0, None], [1.0, 3.0, 5.0, 6.0], [2.0, 5.0, None, None]]
a = [[i for i in x if i != None] for x in L]
print (a)
[[2.0, 3.0, 5.0], [1.0, 3.0, 5.0, 6.0], [2.0, 5.0]]
'[2.0、3.0、5.0、ナン]、[1.0、3.0、5.0、6.0]を、除外
を[2.0、5.0、nan、nan]] 'は1列か' DataFrame'ですか? – jezrael
あなたはどの方法も表示していません。 –
@ChristophTerasa私はちょうどこれを行う方法が知りたいです。 –