我有两个熊猫数据框架,包含数百万行的巨蟒。我希望根据以下三个条件从第一个数据帧中删除行,该数据帧包含单词(以秒为单位):
如果单词出现在句子开头的一行如果单词出现在句子末尾的一行如果单词出现在句子的中间一行(确切的单词,而不是子集)
示例:
第一个Dataframe:
This is the first sentence
Second this is another sentence
This is the third sentence forth
This is fifth sentence
This is fifth_sentence
第二个Dataframe:
Second
forth
我有两个数据帧,如下所示:
df1
id name
-------------------------
0 43 c
1 23 t
2 38 j
3 9 s
df2
user id
--------------------------------------------------
0 222087 27,26
1 1343649 6,47,17
2
我正在使用df.iterrows()函数迭代一个dataframe,但不确定如何指定要在dataframe中运行的行号。我使用初始for循环中的行计数器(下面)搜索行内的X,一旦找到X,就需要遍历其余的数据帧以找到Y,但不需要循环遍历搜索X时已经循环过的初始行。
我试图通过删除X之前的所有行来实现这一点,但是这不起作用,因为在找到初始的X和Y之后,它会删除我需要的条目,并且我需要找到下一个X和Y。
row_count = 0
for index, row in new_df.iterrows():
if X in row[2]:
row_count +
我想将数据帧的索引(行)从float64更改为字符串或unicode。
我以为这能行得通,但显然不行:
#check type
type(df.index)
'pandas.core.index.Float64Index'
#change type to unicode
if not isinstance(df.index, unicode):
df.index = df.index.astype(unicode)
错误消息:
TypeError: Setting <class 'pandas.core.index.Float64Index'&g
数据帧有2列:old_path和new_path。数据帧可以包含数百行。
该脚本遍历文件列表。
对于列表中的每个文件,请检查其文件夹路径的任何部分是否与old_path列中的值匹配。如果匹配,则将文件的匹配old_path替换为相应的new_path值。
我使用for index, row in df.iterrows():或for row in df.itertuples():实现了这一点,但我认为应该有一种更有效的方法来完成它,而不必使用第二个for循环。
任何帮助都是非常感谢的。下面的示例使用df.iterrows()
import pandas as pd
import os
df
我有两个熊猫数据帧:
数据帧1:
ITEM ID TEXT
1 some random words
2 another word
3 blah
4 random words
数据帧2:
INDEX INFO
1 random
3 blah
我想要将( dataframe 2的) INFO列的值与dataframe 1的TEXT列进行匹配。如果匹配,我希望看到一个新的列带有"1“。
如下所示:
ITEM ID TEXT MATCH
1 some random words
我有这样的python大熊猫数据帧,有200到400 k行。
Index value
1 a
2
3 v
4
5
6 6077
7
8 h
我希望这个dataframe值列使用基于字符串值数的特定值填充所有下面的行(就像这里的这个表中有一个字符串值)。我要我的数据就像这样。
Index value
1 a
2 a
3 v
4 v
5 v
6 v
7 v
8 h
嗨,我有下面这本字典 str1 x y
a 1.0 -3.0
b 2.0 -2.5
str2: x y
a 3.0 -2.0
b 4.0 -1.5
str3: x y
a 5.0 -1.0
b 6.0 -0.5 我希望的结果是能够拆开它的堆栈,这样我就可以使用index=[str1,str2,str3]和columns=[a,b]获得数
在学校学习Python。在一个项目中工作,我想从一个数据帧中删除特定的行,并将其转换为另一个数据帧。我有一个372个动物的列表,如果它们的名字出现在数据帧中(它有1288行,每行是不同的动物),我想删除该行。因此,我找到了一个删除行的解决方案: ess_aza = []
for i in aza_names:
if True:
ess_aza.append(ess_clean.loc[ess_clean['scientific_name'] == i])
else:
return 打印出来的列表是这样的: [Empty Dat
我有一份数据帧列表。 重要的是要注意的是,数据帧的形状在2-7列之间不同,并且这些列的名称在该列的0和len之间(例如,df1有5列,名为0,1,2,3,4等等。df2有4列,名为0,1,2,3) 我想要的是检查列中的一行是否包含某个字符串,然后删除该列。 list_dfs1=[df1,df2,df3...df100] 到目前为止,我所做的是下面的&我得到了一个错误,第5列不在轴上(它在一些DF中) for i, df in enumerate(list_dfs1):
for index,row in df.iterrows():
if np.where(ro
基本上,我需要从csv文件中删除某些行,其中' county‘列的值不包含单词county。我试图把它放回我的数据框中,但是,我得到了一个索引错误。
chd = pd.read_csv('some_file.csv')
for index, row in chd.iterrows():
if 'County' not in row['County']:
chd = chd.drop(chd.index[[index,3]])
我得到以下错误:
IndexError:索引2959超出了大小为2909的轴1的边界
给
如何迭代数据帧中的每一行而不将每个索引应用于每一行?
>>> d2 = {'one' : pd.Series(['us 1','uk 2','china 3','india 4'], index=['a', 'b', 'c','d'])}
>>> df2 = pd.DataFrame(d2)
>>> df2
one
a us 1
b uk 2
c china 3
d india 4
我有一个值列表,我希望使用这些值来选择数据帧中的行。诀窍是,我希望选择列表值在该行中的任何行。示例:
index color shape
1 blue star
2 red square
3 yellow circle
我的名单是
list_vals = ['sq', 'blu']
我想选择行
index color shape
1 blue star
2 red square
我正在处理一个pandas数据帧,如果它们包含的“完整路径”已经包含在数据帧的其他“完整路径”中,则希望删除这些行。 在下面的示例中,我想删除行1、2、3、4,因为c:/dir/“包含”它们(我们在这里讨论的是文件系统路径): Full Path Value
0 c:/dir/ x
1 c:/dir/sub1/ x
2 c:/dir/sub2/ x
3 c:/dir/sub2/a x
4 c:/dir/sub2/b x
5 c:/anotherdir/ x
6
我正在尝试合并数据帧的行,以防在一列中存在重复项。数据帧如下所示。 Name Code X Y
A 123 10 11
B 456 12 13
C 123 15 16 我想结合在代码上。因此,如果代码是相同的,则用逗号分隔其他数据。生成的df将如下所示: Name Code X Y
A,C 123 10,15 11,16
B 456 12 13 我的方法如下: df = df.groupby(['Name','Code',&
我想从pandas dataframe中删除行,该数据帧包含长度大于所需长度的特定列中的字符串。 例如: 输入帧: X Y
0 Hi how are you.
1 An apple
2 glass of water
3 I like to watch movie 现在,假设我想从dataframe中删除包含长度大于或等于4的单词字符串的行。 所需的输出帧必须为: X Y
1 An apple
2 glass of water 当列0中的字数为4和列3中的字数分别为5时,删除列'X‘中值为0、3的行。