Python 当列的名称包含';XXX和x27;
我有59列,其名称的格式为:Python 当列的名称包含';XXX和x27;,python,pandas,dataframe,Python,Pandas,Dataframe,我有59列,其名称的格式为:nn:xxxxxx(ttttttt),其中tttttttt是某些特定列重复的名称。现在,我想在tttttt='XXXXXX'时计算非空单元格的总和。我知道如何计算列中非空单元格的数量,但如何在列的名称中添加ttttt为XXXXXX的条件 import pandas as pd df = pd.read_csv("dane.csv", sep=';') shape = list(df.shape) nonempty=df.apply(lambda x: shape[0]
nn:xxxxxx(ttttttt)
,其中tttttttt
是某些特定列重复的名称。现在,我想在tttttt='XXXXXX'
时计算非空单元格的总和。我知道如何计算列中非空单元格的数量,但如何在列的名称中添加ttttt
为XXXXXX
的条件
import pandas as pd
df = pd.read_csv("dane.csv", sep=';')
shape = list(df.shape)
nonempty=df.apply(lambda x: shape[0]-x.isnull().sum())
输入:
1: Brandenburg (Post-Panamax) 2: Acheron (Feeder) 5: Fenton (Feeder)
ES-NL-10633096/1938/X1@hkzydbezon.dk/6749 DE-JP-20438082/2066/A2@qwinfhcaer.cu/68849 NL-LK-02275406/2136/A1@ozmmfdpfts.de/73198
BE-BR-61613986/3551/B1@oqk.bf/39927 NL-LK-02275406/2136/A1@ozmmfdpfts.de/73198
PH-SA-39552610/2436/A1@venagi.hr/80578
PA-AE-59814691/4881/X1@zhicvzvksl.cl/25247 OM-PH-31303222/3671/Z1@jtqy.ml/52408
例如,对于这个输入,假设我想计算列“Feeder”中名称的非空单元格数您可以使用
过滤器
:
df.filter(like='(Feeder)').isna().sum()
或者更精确的版本,需要在列的末尾显示(进纸器)
:
df.filter(regex='.*(\(Feeder\))$').isna().sum()
输出:
2: Acheron (Feeder) 1
5: Fenton (Feeder) 3
dtype: int64
您能否共享CSV中的一些数据,以便我们可以查看标题并执行您的代码?您是将空值正确定义为
NaN
,还是仅定义为带空格的字符串?您可能需要转换它们first@AlexanderCécile标题如我所包含的输入示例所示。空值定义得很好