我有一个很大的数据帧(大约500万行),其中包含一些错误的数据。我已经识别了具有错误数据的行的索引,现在我正在尝试从数据帧中删除“错误”的行。 由于数据帧的大小,我在读取csv时使用了chunksize功能。为了跳过“错误”的行,我使用了skiprows和error_bad_lines features。我还使用low_memory特性来防止警告(出于示例的目的,我只读取了前20000行)。然后,我将新数据帧保存在新的csv中。 问题是,只有前9个“错误”行被跳过,然后“错误行”仍然被读取(并保存到输出csv)。 下面是我的代码: for df in pd.read_csv('dat
我有一个包含age、date和location列的数据文件。
我想计算一下在所有列中有多少行是空的(不是一些,而是全部在同一时间)。我有以下代码,每一行都是独立工作的,但是如何说age AND date AND location是空的呢?
df‘’age‘..isnull().sum()df’‘date’..isnull().sum()df‘’location‘..isnull().sum()
在移除这三列中缺少值的行之后,我想返回一个dataframe,如下所示,但是合并在一个语句中:
Df.mask(行‘’location‘..isnull())df[np.isfinite(df’
我有一个包含一些列的dataframe,其中一个是包含一些文本(obv)的Text。
这个列的几个单元格中有“没有文本”,但是我注意到(我不知道为什么)有一些空格:例如,在一些行中,我在其他行中有"no text"," no text"、" no text "和" no text "等等。
我想使用这样一个条件来删除列Text遗漏它的行:
data = data.drop(data['no text' in data['Text']].index)
但是给我一些错误(KeyError:
我有一个包含文本的Pandas Dataframe。Dataframe包含带换行符的行(\n)。现在,我想对两个换行符之间的所有行进行分组。示例: text_column
this is text
this is a new line
here starts a new paragraph
new line of new paragraph
next paragraph
... 我尝试用换行符来标记这些行: txt["doc"]=txt.text.str.match('\n') 此命令为我提供了一个包含true/false的新列。这不是我想要的。我希望得到
好的,我正在实验熊猫加载一个包含40 million+行和150+列的30 in csv文件到HDFStore。大多数列是字符串,后面跟着数字和日期。
我以前从未真正使用过numpy、熊猫或pytables,但在R中玩过数据帧。
我目前只是将大约20000行的样例文件存储到HDFStore中。当我尝试从HDFStore读取表时,表被加载到内存中,内存使用量增加了~100 by
f=HDFStore('myfile.h5')
g=f['df']
然后删除包含DataFrame的变量:
del g
此时,内存使用量减少了大约5MB。
如果我再次使用g=f['
我有一个DataFrame,它将一个特定的文本存储在多个列中。我正试图过滤掉具有此值的DataFrame中的所有行。
id,col1,col2,col3,col4
1001,apple,banana,pear,kiwi
1002,,apple,,
1003,banana,kiwi,,
1004,pear,orange,apple,
考虑到上面的示例,我尝试过滤所有包含单词apple的行以及该行的id。
for col in df:
apple = df[df[col].astype(str).str.contains("apple")]
但这是空行。
预期输出:
id,
我必须清除数据集中中不包含列表中的状态的行:
state_names =“阿拉斯加”、“阿拉巴马”、“阿肯色州”、“美属萨摩亚”、“亚利桑那”、“加利福尼亚”、“科罗拉多”、“康涅狄格州”、“哥伦比亚特区”、“特拉华州”、“佛罗里达州”.
包含状态名称的列名被称为"place“,但是它不仅仅是状态名称。例如,我希望保留包含“26 to of Redoubt Volcano,阿拉斯加”的行,但我想去掉"place“列中包含”10公里WNW of Progreso,墨西哥“的行。我将如何使用dropna()来完成这个任务?
我有一个由国家名称和城市名称组成的数据格式。然而,城市的名字不仅仅是匹兹堡,费城等。城市的名字可能包含我所说的威望名称。这是一个小样本
State RegionName
Pennsylvania California (California Uni...
Pennsylvania Carlisle (Dickinson College)
Pennsylvania Cecil B. Moore, Philadelphia, also...
...
Pennsylvania University City, Philadelphia (Drex
我有大的.csv文件,其中有~50k行,其中包含2,000列数据,然后是包含6,000列的~200 k行。
我用以下方式导入多个文件:
pd.concat((pd.read_csv(f,index_col='Unnamed: 0', error_bad_lines=False) for f in file_list))
这可以在它只期望为2,000列的第一行上产生错误,或者通过添加error_bad_lines=False跳过所有6,000列行。
在这种情况下,我很高兴在必要时丢弃所有2,000列行。有什么办法可以对付熊猫吗?
引言
我们有从CSV文件创建的以下数据文件。
data = pd.read_csv(path + name, usecols = ['QTS','DSTP','RSTP','DDATE','RDATE','DTIME','RTIME','DCXR','RCXR','FARE'])
我想从dataframe中删除特定的行。为此,我使用了一个列表,并附加了我们要删除的行的ids。
for index,row in data.iterrows
索引包含对象(字符串)的Pandas DataFrame的一行返回一个类型为object的系列。
df1 = pd.DataFrame({'a': np.arange(3), 'b': np.arange(0.5,3),'c': list('def')})
df1
a b c
0 0 0.5 d
1 1 1.5 e
2 2 2.5 f
df1.loc[0]
a 0
b 0.5
c d
Name: 0, dtype: object
索引Pandas DataFrame中不
假设我有2个Pandas数据帧,df维度为297232 x 122维度,df_raw维度为840380x122维度。df已经是df_raw的一个子集。两个数据帧的索引都是DateTime。我想从df中取值的70%,从df_raw中取值的30% (如果需要,可以随机采样),同时确保采样的数据帧子集在索引方面没有重叠。
更准确地说,df_subset将从df中随机选择70%个值,df_raw_subset将从df_raw中随机选择30%个值,但df_subset和df_raw_subset不应该包含采样行方面的重叠,即它们应该具有唯一的DateTime索引。