我有一个包含19列和大量行的pandas数据框。并非每行都有19列,每行的列长不同。
现在我想创建一个新的数据框,其中只包含12列值的行。
我不确定最好的办法。任何帮助将不胜感激。
谢谢, 拉里
编辑:一个例子。
假设空单元格为NaN。
我想创建一个新的df,只有来自A-E的数据,所以在这个例子中只有第5行和第8行。
Col1 Col2 Col3 Col4 Col5 Col5 Col6
Row1 A B D
Row2 A B C
Row3 A C D
Row4 A D
Row5 A B C D E
Row6 A
Row7 A B C D E F G
Row8 A B C D E
Row9 A B D
Row10 A B C
Row11 A C D
Row12 A D F G
Row13 A B C D
Row14 A B C D E G
答案 0 :(得分:1)
首先在表格中阅读类似
的内容import pandas as pd
df = pd.read_csv("pathtothefilename", sep = '\t')
df.fillna(0)
df.fillna(0)
会填充那些没有列0的行!
现在,您可以通过在列表中输入其名称来选择您选择的列,从而按照您希望的方式对DataFrame进行子集化。
colnames = ["ThecolumnIwant1", "ThecolumnIwant2"]
df1 = df[colnames]
print(df1)
df1
现在拥有您想要的数据。
P.S:请发布您的数据样本,以便我们为您提供更好的帮助..
尝试这个:
df[ ~(df['Col1'].isnull()) & ~(df['Col2'].isnull())
& ~(df['Col3'].isnull()) & ~(df['Col4'].isnull())
& ~(df['Col5'].isnull())]