[英]Python Pandas - Returning Data based on specified conditions and prevent true false values
我有一个简单的数据框,它在某种程度上提供了我想要的输出。 下面是代码和输出
import pandas as pd
import numpy as np
data = {'A': [1,2,3,4,5,6,7,8], 'B': [5,8,9,10,11,12,13,14]}
df = pd.DataFrame(data)
df1 = df['A'] > 4, df['A']
df2 = df['B'] <13, df['B']
df3 = df1 + df2
print(df3)
输出
>>> print(df3)
(0 False
1 False
2 False
3 False
4 True
5 True
6 True
7 True
Name: A, dtype: bool, 0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
Name: A, dtype: int64, 0 True
1 True
2 True
3 True
4 True
5 True
6 False
7 False
Name: B, dtype: bool, 0 5
1 8
2 9
3 10
4 11
5 12
6 13
7 14
Name: B, dtype: int64)
我的问题是,如何防止输出打印真假值,因为我只对具有这些值的数据帧感兴趣
Desired output
1 2
2 3
3 4
4 5
5 6
6 7
7 8
1 8
2 9
3 10
4 11
5 12
6 13
7 14
所需的输出是两个单独的数据帧,仅包含没有真/假输出的值
这应该工作:
import pandas as pd
data = {'A': [0.1,0.2,0.1,0.2,5,6,7,8], 'B': [5,0.2,4,8,11,9,10,14]}
df = pd.DataFrame(data)
df1 = df[df.A >= 0.4]
print(df1)
# A B
#4 5.0 11.0
#5 6.0 9.0
#6 7.0 10.0
#7 8.0 14.0
df2 = df[df.A < 0.4]
print(df2)
# A B
#0 0.1 5.0
#1 0.2 0.2
#2 0.1 4.0
#3 0.2 8.0
df3 = pd.concat([df1, df2])
print(df3)
# A B
#4 5.0 11.0
#5 6.0 9.0
#6 7.0 10.0
#7 8.0 14.0
#0 0.1 5.0
#1 0.2 0.2
#2 0.1 4.0
#3 0.2 8.0
我想通了。 下面为我提供了预期的输出
data = {'A': [1,2,3,4,5,6,7,8], 'B': [5,8,9,10,11,12,13,14]}
df = pd.DataFrame(data)
df1 = df[df.A > 4]
df2 = df[df.A <13]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.