我试图在Pandas dataframe中找到有超过64个字符的列。
dataframe有20列。我希望检查列中的每个值的字符长度,如果任何值超过64个字符,则打印列名。
当我使用下面的代码时,它不会给出任何错误,但不会输出列名,它的值与条件匹配。
for col in df.columns:
if (df[col].str.len()).any() > 64:
print col
我还确保了dataframe中的所有数据类型都是字符串类型。
我如何使用Pandas来实现这一点?
为了检查熊猫是否包含缺失/nan值,可以使用函数。
test_pandas = pd.DataFrame([[np.float(3),np.float(1),np.float(4.3)],[np.float(5.8),np.nan,[1,2,3]]],columns = ['A','B','C'])
value = test_pandas.isnull().values.any()
test_pandas.head()
给出
A B C
0 3.0 1.0 4.3
1 5.8 NaN [1
我希望过滤我的数据,以便只选择包含另一个字符串的子字符串的列的行。我知道这样做会适得其反:
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
我有带有字符串和数字列的大DataFrame。在字符串列中,值有重音,我需要将它们转换为“普通”字母。如何将函数应用于熊猫DataFrame中的所有特定类型列(在本例中我需要所有字符串列)?
import unicodedata
def strip_accents(text):
try:
text = unicode(text, 'utf-8')
except NameError: # unicode is a default on python 3
pass
text = unicodedata.normaliz
我想取熊猫数据中每一个值的对数。我试过了,但没有用:
#Reading data from excel and rounding values on 2 decimal places
import math
import pandas as pd
data = pd.read_excel("DataSet.xls").round(2)
log_data= math.log10(data)
它给了我这个错误:
TypeError:必须是实数,而不是DataFrame
你知道该怎么做吗?
我只想修改pandas dataframe列上大于750的值
datf.iloc[:,index][datf.iloc[:,index] > 750] = datf.iloc[:,index][datf.iloc[:,index] > 750]/10.7639
我认为语法很好,但是我得到了一个Pandas警告,所以我不知道这样做是否正确:
<ipython-input-24-72eef50951a4>:3: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a D
只是一个简单的问题,伙计们,我有一个熊猫数据框架:
In [11]: df = pd.DataFrame([['A', 'B'], ['C', E], ['D', 'C']],columns=['X', 'Y', 'Z'])
In [12]: df
Out[12]:
X Y Z
0 A B D
1 C E C
如何转换为降低df的所有元素
Out[12]:
X Y Z
0 a b d
1 c e c
我查看了,并
从这个问题:Python: Best Way to remove duplicate character from string答案: ''.join(ch for ch, _ in itertools.groupby(string_to_remove) 我知道如何删除重复的字母只存在于彼此相邻的位置,如何将此解决方案应用于pandas中的列? df: df=pd.DataFrame({'A':['ODOODY','LLHHEELLO'],'B':['NNMminee','DDasdss&
我目前有: def color_cell(val):
color = 'lightgreen' if val ==0 else 'white'
return 'background-color: %s' % color
s = df.style.applymap(color_cell) 它给出了以下数据帧: ? 我想使用pandas.dataframe.iloc来挑选突出显示的值。例如,使用df.iloc[0,1]和df.iloc[1,2],以便只突出显示这些值。 如何更新此代码?