我有这个 if 语句,必须检查这两个字符串是否存在,self.line.lower()例如:123abc567或blaxyzbla:
if 'abc' or 'xyz' in self.line.lower():
print ('Present')
else:
print ('Not Present')
Run Code Online (Sandbox Code Playgroud)
self.line.lower()如果不包含或abc,为什么这会返回 true(Print Present)xyz如果字符串中
我必须用它来工作:
if self.line.lower().find('abc') != -1:
print ('Present')
elif self.line.lower().find('xyz') != -1:
print ('Present')
else:
print ('Not Present')
Run Code Online (Sandbox Code Playgroud)
多谢。
我可以使用 Python 来获取列名的列表,其中所有值都是NaNs,返回c并d作为下面数据帧的结果吗?谢谢。
df = pd.DataFrame({'a': [1,2,3],'b': [3,4,5], 'c':[np.nan, np.nan, np.nan],
'd':[np.nan, np.nan, np.nan]})
a b c d
0 1 3 NaN NaN
1 2 4 NaN NaN
2 3 5 NaN NaN
Run Code Online (Sandbox Code Playgroud) 我正在使用一个数据框,其中一个日期列具有不规则的日期格式,即:
date
0 1991
1 1970
2 1991/01/01
3 1996-01-01
4 1996-06-30
5 1995-12-31
6 1997-01-01
7 1970/1/1
8 1996-01-01
9 1997-01-01
10 1996-01-01
Run Code Online (Sandbox Code Playgroud)
如何仅从中提取年份,date以获取year标准格式为XXXX 的新列,该列仅表示年份。
year
0 1991
1 1970
2 1991
3 1996
4 1996
5 1995
6 1997
7 1970
8 1996
9 1997
10 1996
Run Code Online (Sandbox Code Playgroud)
使用df.date.unique(),我得到以下输出:
array([2015, 2008, 2021, 1999, 2001, 2000, 1997, 1995, 1998,
datetime.datetime(1905, 7, 2, 0, 0),
datetime.datetime(1905, 7, 7, 0, 0),
datetime.datetime(2012, 10, 1, 0, 0), …Run Code Online (Sandbox Code Playgroud) 我使用以下代码生成箱线图:
boxplot(top10threads$affect ~ top10threads$ThreadID[], data = top10threads, xlab = "10 biggest Threads", ylab = "Affect", col=(c("gold","darkgreen")), srt=45)
Run Code Online (Sandbox Code Playgroud)
但您可能会注意到 x 轴上的一些标签丢失了,所以我想将它们旋转 45 度。我添加了srt=45,但是不起作用。
通过设置las=2可以垂直旋转它们,但这并不完全是我需要的。
我怎么能这么做呢?谢谢。
给定两个数据帧,如下所示:
import pandas as pd
# Creating a DataFrame object
df1 = pd.DataFrame([('Stuti', 28, 'Varanasi'),
('Saumya', 32, 'Delhi'),
('Aaditya', 25, 'Mumbai'),
('Saumya', 32, 'Delhi')],
columns = ['Name', 'Score', 'City'])
df2 = pd.DataFrame([('Saumya', 32, 'Delhi'),
('Saumya', 32, 'Mumbai'),
('Aaditya', 40, 'Mumbai'),
('Seema', 32, 'Delhi')],
columns = ['Name', 'Score', 'City'])
Run Code Online (Sandbox Code Playgroud)
我怎么可以创建一个面具df2来过滤重复的基础上的行df1和列Name和City,如果同样存在PAIRE中df1,然后返回check其列Duplicated,否则,返回None。
预期的结果将是:
Name Score City Check
0 Saumya 32 Delhi Duplicated
1 Saumya 32 Mumbai None …Run Code Online (Sandbox Code Playgroud) 我在使用 isin 函数过滤 Pandas 中数据集的行时遇到 TypeError 错误
df[~df['id'].isin('134399', '187013')]
Run Code Online (Sandbox Code Playgroud)
结果:
df[~df['id'].isin('134399', '187013')]
Traceback (most recent call last):
File "<ipython-input-91-ba70cce02a1c>", line 1, in <module>
df[~df['id'].isin('134399', '187013')]
TypeError: isin() takes 2 positional arguments but 3 were given
Run Code Online (Sandbox Code Playgroud)
有人知道如何处理这个问题并可以帮助我吗?谢谢。
我尝试删除所有NaN从数据帧我得到由行pd.read_excel("test.xlsx", sheet_name = "Sheet1"),我试图与df = df.dropna(how='all')和df.dropna(how='all', inplace=True),既不能删除,我如下打印的最后一个空行:df.tail(1)。
a b c
3463 NaN NaN
Run Code Online (Sandbox Code Playgroud)
我注意到列中的值c不是空而是空。有人可以帮助解决这个问题吗?谢谢你。
我有一个数据集如下:
df <- structure(list(city = structure(c(1L, 5L, 6L, 2L, 4L, 7L, 9L,
8L, 3L), .Label = c("bj", "cq", "cs", "nj", "sh", "tj", "wh",
"xa", "xm"), class = "factor"), area = c(1580.86, 1927.95, 532.24,
613.09, 1459.86, 1024.58, 684.63, NA, 708.35), price = c(9.51,
94.42, 10.77, 8.58, 38.07, 94.14, 30.43, 45.73, 41.39)), class = "data.frame", row.names = c(NA,
-9L))
Run Code Online (Sandbox Code Playgroud)
现在我想level根据以下条件创建一个新列:
为bj和sh,的值level是a; 为cq和tj,的值level是b; 对于其他城市,值为c …
给定一个测试数据集如下:
id city name
0 1 bj NaN
1 2 bj jack
2 3 bj NaN
3 4 bj jim
4 5 sh NaN
5 6 sh NaN
6 7 sh steve
7 8 sh fiona
8 9 sh NaN
Run Code Online (Sandbox Code Playgroud)
我如何分组city并删除NaN行,name同时只为每个保留一个group?非常感谢。
预期的结果将是这样的:
id city name
0 1 bj NaN
1 2 bj jack
2 4 bj jim
3 5 sh NaN
4 7 sh steve
5 8 sh fiona
Run Code Online (Sandbox Code Playgroud)
df = pd.read_clipboard(na_filter …
给定一个数据框,如下所示:
id name
0 1 ???
1 2 ??
2 3 ????????????
3 4 ??????????
4 5 ??·??????
5 6 ????????
Run Code Online (Sandbox Code Playgroud)
如何计算每行列的汉字数name?
预期的结果将是这样的:
id name count
0 1 ??? 3
1 2 ?? 2
2 3 ???????????? 12
3 4 ?????????? 10
4 5 ???????? 8
5 6 ???????? 8
Run Code Online (Sandbox Code Playgroud)