見出し画像

pythonを使う〜その4(基礎編:データフレーム)

リスト型
[ ]で閉じる

Agroup_list = [1, 'Banana', 'Apple']
Agroup_list

[1, 'Banana', 'Apple']

リストに追加
append( )

Agroup_list.append('Taro')
Agroup_list

[1, 'Banana', 'Apple', 'Taro']

リストから削除
remove( )

Agroup_list.remove('Apple')
Agroup_list

[1, 'Banana', 'Taro']

Agroup_list.remove(1)
Agroup_list

['Banana', 'Taro']

リストへの追加は「+」も使えますが、削除に「ー」は使えません。
いろいろ試してみましょう。

fruits = ['apple']
fruits

['apple']

fruits = fruits + ['banana']
fruits

['apple', 'banana']

fruits.append('orange')
fruits

['apple', 'banana', 'orange']

リストに+で加えられるのはリスト型だけです。

fruits = fruits + 'grape'

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list

順番を指定して読み出します。
pythonでは、[0, 1, 2…]と0からスタートします。

fruits = ['apple', 'banana', 'orange']

fruits[0]

'apple'

fruits[2]

'orange'

「-」でも指定できます。

fruits[-1]

'orange'

[n:n+x]は、n+1番目からn+xまで

fruits[0:2]

['apple', 'banana']

fruits[-2:-1]

['banana']

fruits[-1]

'orange'

「-」は使えません。

fruits = fruits - ['banana']

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'list' and 'list'

fruits.remove('apple')
fruits

['banana', 'orange']

insert( )メソッドで挿入もできます
insert(挿入位置, オブジェクト )

fruits = ['apple', 'orange']
fruits

['apple', 'orange']

fruits.insert(1, 'banana')
fruits

['apple', 'banana', 'orange']

要素の置き換え

fruits

['apple', 'banana', 'orange']

fruits[1] = 'strawberry'
fruits

['apple', 'strawberry', 'orange']

削除

fruits

['apple', 'strawberry', 'orange']

del fruits[2]
fruits

['apple', 'strawberry']

並び替え
sort( )

Agroup_list = ['Banana', 'Apple', 'Taro']
Agroup_list

['Banana', 'Apple', 'Taro']

Agroup_list.sort()
Agroup_list

['Apple', 'Banana', 'Taro']

test_results_list = [70, 45, 56, 28, 98, 32]
test_results_list.sort()
test_results_list

[28, 32, 45, 56, 70, 98]

文字型と数値型が混在しているリストで並べ替えをしようとするとエラーが出ます。

AAgroup_list = [1, 'Banana', 'Apple', 'Taro']
AAgroup_list.sort()

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'str' and 'int'

辞書型
:で区切る { }で囲む。
{'Apple':'りんご’,'Banana':'バナナ’}

{'Taro':65, 'Jiro':70, 'Saburo':60}

{'Taro': 65, 'Jiro': 70, 'Saburo': 60}

辞書の特定の項目の値を表示

Activities = {'Mon':'run', 'Tue':'swim', 'Wed':'rest', 'Thr':'run', 'Fri':'weight'}

Activities['Mon']

'run'

辞書の項目を表示
keys( )

Activities.keys()

dict_keys(['Mon', 'Tue', 'Wed', 'Thr', 'Fri'])

辞書の値を表示
values( )

Activities.values()

dict_values(['run', 'swim', 'rest', 'run', 'weight'])

タプル型
( )

tuple_sample = ('Apple', 3, 40,6)
print(tuple_sample)

('Apple', 3, 40, 6)

リストとタップルの違い
リストは入れ替え可能、タップルは要素を入れ替えできません。

flavor_list = ['Apple', 'Banana', 'Choco', 'Strawberry']
flavor_list[0] = 'grape'
print(flavor_list)

['grape', 'Banana', 'Choco', 'Strawberry']

flavor_tuple = ('Apple', 'Banana', 'Choco', 'Strawberry')
flavor_tuple(0) = 'grape'

File "<stdin>", line 1
flavor_tuple(0) = 'grape'
^^^^^^^^^^^^^^^
SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?

空の辞書diaryに登録する際には、タップルだと登録できて、リストだと登録できません。

diary = {}
key_tuple = ('shigeru', '12-24')
diary[key_tuple] = 70.0
print(diary)

{('shigeru', '12-24'): 70.0}

diary = {}
key_list = ['shigeru', '12-24']
diary[key_list] = 70.0

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

毎日記録をつけるようなケースではタプルを使います。

diary = {}
key_tuple = ('shigeru', '12-24')
diary[key_tuple] = 70.0
key_tuple = ('shigeru', '12-23')
diary[key_tuple] = 68.8
key_tuple = ('shigeru', '12-22')
diary[key_tuple] = 70.4
print(diary)

{('shigeru', '12-24'): 70.0, ('shigeru', '12-23'): 68.8, ('shigeru', '12-22'): 70.4}

diary['shigeru', '12-24']

70.0

集合型
set

candy = {'delicious', 'fantastic'}
candy

{'fantastic', 'delicious'}

candy = set('delicious')
candy

{'e', 'c', 's', 'o', 'd', 'i', 'u', 'l'}

flavor_list = ['Apple', 'Banana', 'Choco', 'Strawberry']
candy_set = set(flavor_list)
candy_set

{'Apple', 'Banana', 'Choco', 'Strawberry'}

candy_set.update(['grape'])
candy_set

{'Apple', 'Choco', 'Banana', 'grape', 'Strawberry'}

集合型は同じデータを持ちません。

flavor_list = ['Apple', 'Banana', 'Choco', 'Strawberry', 'Banana', 'Choco', 'Strawberry', 'Strawberry']
print(flavor_list)

['Apple', 'Banana', 'Choco', 'Strawberry', 'Banana', 'Choco', 'Strawberry', 'Strawberry']

flavor_set = set(flavor_list)
print(flavor_set)

{'Apple', 'Banana', 'Choco', 'Strawberry'}

flavor = list(flavor_set)
print(flavor)

['Apple', 'Banana', 'Choco', 'Strawberry']

セット間の差分を取る。

flavor_set_A = {'Apple', 'Banana', 'Choco', 'Strawberry'}
flavor_set_B = {'Apple', 'Banana', 'Choco', 'grape'}
flavor_set_A - flavor_set_B

{'Strawberry'}

flavor_set_B-flavor_set_A

{'grape'}

flavor_set_A & flavor_set_B

{'Apple', 'Banana', 'Choco'}

flavor_set_A | flavor_set_B

{'Apple', 'Choco', 'Banana', 'grape', 'Strawberry'}

flavor_set_A ^ flavor_set_B

{'grape', 'Strawberry'}

flavor_set_A >= flavor_set_B

False

いいなと思ったら応援しよう!