でいくつかの要素を編集する方法、列の要素は['a', 'b', 2006.0, 2005.0, ... ,1995.0]
例えばdf.columns
では今、私はintにfloatを変更したいと考えていますので、正しい列の要素があるべき['a', 'b', 2006, 2005, ... , 1995]
ここに数字が多いので、rename(columns={'old name': 'new name'})
は良い考えだとは思わない。それを編集する方法を教えてもらえますか?
でいくつかの要素を編集する方法、列の要素は['a', 'b', 2006.0, 2005.0, ... ,1995.0]
例えばdf.columns
では今、私はintにfloatを変更したいと考えていますので、正しい列の要素があるべき['a', 'b', 2006, 2005, ... , 1995]
ここに数字が多いので、rename(columns={'old name': 'new name'})
は良い考えだとは思わない。それを編集する方法を教えてもらえますか?
あなたがこれを行うことができます:あなたの助けを
In [49]: df
Out[49]:
a b 2006.0 2005.0
0 1 1 1 1
1 2 2 2 2
In [50]: df.columns.tolist()
Out[50]: ['a', 'b', 2006.0, 2005.0]
In [51]: df.rename(columns=lambda x: int(x) if type(x) == float else x)
Out[51]:
a b 2006 2005
0 1 1 1 1
1 2 2 2 2
私はあなたがlist comprehension
を使用することができると思う:
print (df.columns.tolist())
['a', 'b', 2006.0, 2005.0, 1995.0]
print ([int(col) if type(col) == float else col for col in df.columns])
['a', 'b', 2006, 2005, 1995]
df.columns = [int(col) if type(col) == float else col for col in df.columns]
['a', 'b', 2006, 2005, 1995]
感謝を! – Kai
ご協力いただきありがとうございます! – Kai