我想检查pandas.DataFrame列是否包含特定值。例如,这个玩具Dataframe在"two"列中有一个"h"
import pandas as pd
df = pd.DataFrame(
np.array(list("abcdefghi")).reshape((3, 3)),
columns=["one", "two", "three"]
)
df
one two three
0 a b c
1 d e f
2 g h i
我有一个TSV文件,我加载到一个熊猫数据文件中进行一些预处理,我想知道哪些行在其中有问题,并在一个新的列中输出1或0。因为它是TSV,所以我是这样加载它的:
import pandas as pd
df = pd.read_csv('queries-10k-txt-backup', sep='\t')
下面是它的外观示例:
QUERY FREQ
0 hindi movies for adults 595
1 are panda dogs real
我试图查找一个.xlsx文件是否包含一个@。我使用过熊猫,它们工作得很好,除非excel表中的第一列为空,那么它就失败了。有什么想法吗?如何重写代码来处理/跳过空列?
守则:
df = pandas.read_excel(open(path,'rb'), sheetname=0)
out = 'False'
for col in df.columns:
if df[col].str.contains('@').any():
out = 'True'
break
这是我正在犯的错误:
我试图确定Pandas列中是否有具有特定值的条目。我试着用if x in df['id']做这件事。我认为这是可行的,但当我给它一个我知道不在43 in df['id']列中的值时,它仍然返回True。当我只包含匹配缺少的id df[df['id'] == 43]的条目的数据帧子集时,很明显,其中没有条目。如何确定Pandas数据帧中的列是否包含特定值,以及为什么我的当前方法不能工作?(FYI,当我在这个中使用类似的问题时,我也遇到了同样的问题)。
我尝试根据第四列中的值填充另两列中的一列中的值。
我有一个包含四列的pandas数据帧: A、B、C、D
df_copy = df.copy()
for i, row in df.iterrows():
if 'Test' in row.D:
df_copy.loc[i, 'A'] = row.B
elif 'Other' in row.D:
df_copy.loc[i, 'A'] = row.C
这是可行的,但速度非常慢。有没有更有效的方法?
我有一个pandas df,它有一个列名和一个列AGE。我得到了一系列的名称,并且我希望只保留df中NAME列包含该系列中的一个名称的行。此外,df中的系列可能没有全名,但只有部分全名(例如,只有名字或姓氏)。
示例:
df = NAME AGE
John Stewart 26
Mary Doe 36
Luke Doe 29
Danny Smith 16
Jenny Brown 80
series s (or list) = [Luke, Danny]
我想要
df2 =
我希望过滤我的数据,以便只选择包含另一个字符串的子字符串的列的行。我知道这样做会适得其反:
selection = df[df.str.contains(substring)]
但是,我将如何做到子字符串在dataframe中,并将其与另一个字符串进行比较。我试过的是
import pandas
a = pandas.DataFrame({"b":["foo","bar"]})
selection = a[a.b.str in "foot"] # should match first row
selection = a[a.b.s
我目前使用的是Jupyter笔记本电脑来分析公司数据。我的第一步是清理和格式化数据。到目前为止我的代码是: %matplotlib inline
# First, we'll import pandas, a data processing and CSV file I/O library
import pandas as pd
# We'll also import seaborn, a Python graphing library
import warnings # current version of seaborn generates a bunch of warn
将pandas.to_numeric应用于包含表示数字的字符串(可能还有其他无法解析的字符串)的dataframe列将导致如下错误消息:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-66-07383316d7b6> in <module>()
1 for column in
我有一个数据框,我在其中对一个字段执行多个regex子字符串搜索,以确定此字符串属于哪个“家族”。这是一个相当昂贵的搜索,所以我想将结果保存在一个Pandas列中,以便更快地检索。Pandas有一个很好的isin()方法,用于确定单个检索到的项是否在给定的查询集中,但我不确定如何进行反向操作。
下面是一个简单的单行示例:
>>> from pandas import DataFrame
>>> example = DataFrame({"text": "the quick brown fox jumps over the lazy d
我如何在pandas中创建一个新列,它是由字符串组成的另外两个列的差异的结果?
我有一个标题为"Good_Address“的专栏,它有像"123 Fake Street apt101”这样的条目,还有一个标题为"Bad_Address“的专栏,它有像"123 Fake Street”这样的条目。我希望"Address_Difference“列中的输出是”Apt101“。
我试过这样做:
import pandas as pd
data = pd.read_csv("AddressFile.csv")
data['Address D
我有一只有两个栏的熊猫df。其中一个列包含单词字符串,一个列包含单个单词。我需要比较这两列,看看“Col_1”中的字符串是否包含“Col_2”中的单词,然后创建另一列,其中包含该元素的索引。
这就是我所拥有的:
data = {'Col_1': ['A B C D', 'A B C', 'A B C'], 'Col_2': ['D', 'B', 'Z']}
df = pd.DataFrame(data)
print (df)
这就是我需要的:
data =